c语言中printf("%d\n",c&c)是什么意思?

   main()
  {int c=35;printf("%d\n",c&c);}
  程序运行后的输出结果是
答案是35为什么呢?

printf("%d\n", c&c); 表示输出表达式c&c的值。
而c&c是表示将变量c与自己进行与运算,结果为c。如:
int c=12;
c&c = 12&12 = 1100 & 1100 = 1100 = c (1100为12的二进制)

所以最后输出结果为变量c的值,即等价于:printf("%d\n", c);
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-05-25
十进制整形输出c和c的按位与的结果
35的二进制是100011,2个100011按位与
100011
100011
----
100011
所以结果是35本回答被提问者采纳
第2个回答  2007-05-25
定义了整型变量c
赋值为三十五
printf是输出函数
将c的值输出
当然是35了阿
第3个回答  2007-05-25
C=35
%d 整型
\n 换行
C&C 两个C的与计算

换行打印出整型为C的地址的值
第4个回答  2007-05-25
一楼说的对

c语言中printf("%d\\n",c&c)是什么意思?
printf("%d\\n", c&c); 表示输出表达式c&c的值。而c&c是表示将变量c与自己进行与运算,结果为c。如:int c=12;c&c = 12&12 = 1100 & 1100 = 1100 = c (1100为12的二进制)所以最后输出结果为变量c的值,即等价于:printf("%d\\n", c);...

char c = 'A' printf("%d\\n",c&c)
printf("%d -- %d 就是大写的A , 按ASCII码数值 用 十进制 输出。大写的A ASCII码数值 是 65,所以结果 是 65。printf("%d %c\\n",c,c); \/\/ 输出 65 A

main() {int c=35;printf("%d\\n",c&c);} 求详解,尤其是后面的
printf("%d\\n",c&c);是打印出c&c 而c&c是什么意思呢?&是按位与操作符 二进制与运算规则:1&1=1 1&0=0 0&0=0 0&1=0 &是“位与”的符号操作符,就是说c&c就是c与c 35的二进制代码为:100011 c&c就是100011&100011把每一位进行位与操作,即同为1所得结果就为1,否则为0...

...main() { int c=35; printf("%d\\n",c&c); } 答案为什么是35呢...
&&:是逻辑与。结果只有0或者1,也就是只有真假。

请教大家一个有关 & 符号的c语言问题
按位与运算。35的二进制是100011,c&c:100011 100011 --- 100011 所以结果还是35,这个35已经不同与原来的C的值了 该程序只是因为35&35结果还是35才迷惑人。换个数试试你就明白了。并不是你说的只执行前一个C,而后面的&c就不予处理。

急求计算机二级考试的试题(C语言)
printf("%c,",b++); printf("%d\\n",b-a); } 程序运行后的输出结果是 (A)3,2 (B)50,2 (C)2,2 (D)2,50 (17)有以下程序 A main() { int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\\n",n++,++m); } 程序运行后的输出结果是 (A)12353514 (B)12353513 (C)12343514 ...

c语言10进制转8进制以及16进制的源程序
long dtoe(int a);void dtoh(int a,char h[]);int main(void){ long a;char h[80];scanf("%d",&a);dtoh(a,h);printf("HEX:%s\\n",h);a=dtoe(a);printf("OCT:%d\\n",a);system("pause");return 0;} long dtoe(int a) \/\/ 八进制 { if (a<8) { return a;...

C语言赋值语句中double该不该加lf
不需要加。对于浮点数常量,如1.23有三种写法,1、 1.23,就写本身。系统默认以double类型存储。2 、1.23f, 增加f后缀后,系统以float类型存储。3、 1.23lf,增加lf后缀,系统以double存储。可以看出,在不写任何后缀时,缺省的就是lf,即double形式存储的。所以在double赋值时,可以不加lf。

关于C语言float
printf("%f",1.0\/3.0*3);1.000000 printf("%d",1.0\/3.0*3);0 你可能是这样算的 int a=1.0\/3.0*3;printf("%d",a);1 没错,是转化为精度高的浮点数,结果也是实型的,但你知道实型是有误差的,即使精度很高,可能结果是0.999999……但不是1,对其取整,结果还是0,它只会舍...

C语言中的字符串
C语言的字符串是一片连续的空间,用'\\0'表示字符串的结尾。如果从一个字符指针作为字符串的起始进行访问,当遇到'\\0'之前的整段空间的值都会被当做字符串的内容。LZ的程序中只复制的字符串长度等于串长的部分,没有复制'\\0'造成访问越界。在VC++中用Debug模式运行程序,自带的Microsoft C&C++ ...

相似回答