1,看看下面程序输出啥?
#include <stdio.h>
int main()
{
int i = 43;
printf("%d \n", printf("%d ", printf("%d ", i)));//printf是打印格式化的输出到标准输出流,最内层打印的是43 ,第二层打印字符的个数,所以是2,第三层打印2的个数所以为1.
return 0;
}
输出结果为 43 2 1
2,a和b交换如何在不创建临时变量情况下交换?
思路:利用异或特性可以实现交换
int main(){
int a=10;
int b=20;
a=a^b;
b=a^b;
a=a^b;
printf("%d %d\n",a,b);
return 0;
}
3,int main(){
int a=1;
b=(++a)+(++a)+(++a);//先执行3次++,a变为4,再执行+,b为12.
printf("%d\n",b);
return 0;
}