在c语言里, a=1; x=(++a)+(++a); printf(“%d”,x)为什么等于6

如题所述

第1个回答  2020-03-20
x=(++a)+(++a);
是一个语句,所以要先算两个++a,a两次自加1后就是3了,然后再算x=3+3=6
第2个回答  2020-08-21
a==0是判断语句,不影响赋值语句,a还是1。
b赋值为1,赋值语句返回真,即x为1,下面就不执行了,因为逻辑或的关系。所以c还是3。

在c语言里, a=1; x=(++a)+(++a); printf(“%d”,x)为什么等于6
x=(++a)+(++a);是一个语句,所以要先算两个++a,a两次自加1后就是3了,然后再算x=3+3=6

在c语言里, a=1 x=(++a)+(++a) printf(“%d”,x)为什么等于6
a=1 x=(++a)+(++a) printf(“%d”,x) ++a指计算前a先自加1 所以第一个++a,有a=2;第二个++a,有a=3;中间+,有3+3=6

...程序执行完后x为什么得6,不是应该先执行括号里面的吗,
括号优先于自增没错,但是括号里的乘没有自增的优先级高 所以先执行++,a变成2,然后执行a*a=4,最后执行加法,最后结果是6

...main() { int a=1,b; b=(++a)+(++a); printf("%d",b); } 结果为什...
这种问题有二义性,在不同的编译系统中,结果不同。不会作为考试题使用的,除非你们老师不懂。

...main() { int a=1,b; b=(++a)+(++a); printf("%d",b); } 结果为什...
+)+(++i),相当于J=4+4+6=14。但程序 实际执行后3个表达式的结果分别是18,9和 15。在表达式 =(+ +i)+(++i)+(++i)中, 的值是3个自增表达式的值,而每一个自增 表达式的值其实取决于i的值。++i是一个自 增表达式,这个表达式的计算分成2步,自增:i的 值加1;取值:取 的值...

...{ int a,b; a=1,b=(++a)+(++a); printf("%d,%d\\n",a,b); }...
a=1,b=(++a)+(++a);这一句么 首先 a=1确定的,然后运行b=(++a)+(++a)括号优先级高,先第一个++a 后a=2,然后运行第二个++a,a=3.最后在运行a+a,所以结果是6。 + 是最后运行的。因为是一个变量 ,第二个++a后同时也改变 b=(这个值)+()楼主多想想就会明白 ...

c语言中int a=1 a+=(a++)+(++a) 再printf (%d\/n,a); 结果为7, 然后在j...
在c中,先执行后面的(++a),这样a=2呢,在执行(a++),这时先赋值a为2,再加一,就为三,式子变成了a+=3+2 a+=a+5 此时a还为2,就是2+5=7 在java中 展开为a=a+(a++)+(++a),java中++和其他运算符混用时结合性不同的a+(a++)是左结合,(++a)是右结合,这答案...

a=1;q=(++a)+(++a)+(++a);
q+=++a;而括号的优先级要高于加号,所以先运行括号的语句,a自加两次,所以a=3;q=6;后一句a又自加一次,所以q=10,a=4;这题主要是考的运算符的优先级;补充:我用的编译器是vc 6.0 据了解在tc下会有不同的结果,结果为12。所以此题没有正确的答案,在不同的编译器下结果不同。

C++请问 int a = 1; cout << (++a)+(++a)+(++a) << endl; 为何是10
第一个:++a是在每次运算前都会自加一次,所以,一开始,a=1,做第一次加法前,先执行括号1,a先自加,a=2,然后执行括号2,a再自加,a=3,此时执行第一次加法,用当前的a去运算,3+3=6;做第二次加法,先执行括号3,a自加,a=4;再做加法,6+4=10;第二个:a++是做完运算之后才加1...

C语言a=1 printf("%d",a++)答案是什么
答案是1 a++是先把a的值带进运算在自加1 ++a是先自加1,在吧a的值带入运算 如果是 a=1 printf("%d",++a)那么就是2了 希望对你有帮助!!

相似回答
大家正在搜