首页 > 编程 > C > 正文

C语言中交换int型变量的值及转换为字符数组的方法

2020-01-26 14:37:53
字体:
来源:转载
供稿:网友

不使用其他变量交换两个整型的值:

#include <stdio.h>  void main(){   int a = 3;   int b = 4;    a = a ^ b;//使用异或交换   b = b ^ a;   a = a ^ b;    printf("%d, %d/n", a, b);    a = a - b;//使用加减交换   b = a + b;   a = b - a;    printf("%d, %d/n", a, b);    a ^= b ^= a ^= b;    printf("%d, %d/n", a, b); } 

2016425155553035.jpg (250×186)

整形和字符数组型转换:

#include <stdio.h> #include <stdlib.h>  int sumof1(int x)//求一个数转换成二进制以后1的个数 {   int countx = 0;   while(x)   {     countx ++;     x &= x-1; //每位与一次x - 1;就能消掉最后一个1   }   return countx; }  void main(){    char c[10];   int i = 999;    itoa(i, c, 10);//以10进制转换成字符数组   puts(c);    itoa(i, c, 16);//以16进制转换成字符数组   printf("0x%s/n", c);    itoa(i, c, 8);//以8进制转换成字符数组   printf("0%s/n", c);    itoa(i, c, 2);//以2进制转换成字符数组   puts(c);    i = atoi(c);//再将字符串转成整形   printf("%d/n", i);    printf("%d/n", sumof1(i));//以2进制表示时1的个数 } 

2016425155626126.jpg (257×176)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选