main( ) { int c=5;printf("%d\n",(c+=c,c+8,++c);}
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 07:51:58
main( ) { int c=5;printf("%d\n",(c+=c,c+8,++c);}
为什么答案是 11 而不是10呢
为什么答案是 11 而不是10呢
逗号表达式,计算结果是 最右一个式子.
c+=c,-- c变10
c+8 -- c不变,还是10
++c -- 前加加,要先变化再输出,c=c+1=11.
计算结果是 最右一个式子 11
再问: 说实话还是没懂。。为什么这道题就要先算c+=c 而最后++c才是最后结果呢。。。别的题不都是最后赋值或者直接算右面的么。。
再答: 逗号表达式的运算规则。 先一句一句过一遍,数值改变的变。 最后送回的是最右一个式子的结果。
c+=c,-- c变10
c+8 -- c不变,还是10
++c -- 前加加,要先变化再输出,c=c+1=11.
计算结果是 最右一个式子 11
再问: 说实话还是没懂。。为什么这道题就要先算c+=c 而最后++c才是最后结果呢。。。别的题不都是最后赋值或者直接算右面的么。。
再答: 逗号表达式的运算规则。 先一句一句过一遍,数值改变的变。 最后送回的是最右一个式子的结果。
main( ) { int c=5;printf("%d\n",(c+=c,c+8,++c);}
C语言 main() {int x,y; x=11/3;y=5; printf("%%d,%%%d\n...
main () {int a=5,b=4,c=3,x;x=a>b>c;printf("%d\n&q
main( ) {int k=4,a=3,b=2,c=1;printf ("%d\n",k<a
main() {int a=1,b=1,c=1,y; y=++a&&++b||++c ; printf("..
#include main() { int c=5,k; printf("%d",k=(++c)+(++c)+(++c)
#include main() {int a=2,b=2,c=2; printf("%d\n",a/b&c); } 答案
在C语言中 main() {int a=1,b=2,c=3; printf("%d,%d,%d,%d\n",a=b=c,
#include main() { unsigned char a=8,c; c=a>>3; printf("%d\n"
#include main() {char ch; ch='A'+'5'-'3'; printf("%d,%c\n",c
#include main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\n
在C语言中.#include int main() {inta=17 ; intb=5; printf("%d% % %