请读程序:main() { int a=1,b=2; printf("%d\n",a=a+1,a+6,b+2);} 则上面程序的输出结果是____马上要考试了,为什么不是4啊

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/29 06:53:30
请读程序:main() { int a=1,b=2; printf(
x͑]KPǿ ^1ư"i596{([a¹2ͫB o\~9y#^VK/p{\IT%#9e(準TE3*f( }(fX!Zt X@_aF $(2D)Pرr^J|ĕw{@*I_tЇ|4Ch@aCgF#ዑH@NCeOHN1 rh|`K&0'3ܰ}@abN

请读程序:main() { int a=1,b=2; printf("%d\n",a=a+1,a+6,b+2);} 则上面程序的输出结果是____马上要考试了,为什么不是4啊
请读程序:main() { int a=1,b=2; printf("%d\n",a=a+1,a+6,b+2);} 则上面程序的输出结果是____
马上要考试了,为什么不是4啊

请读程序:main() { int a=1,b=2; printf("%d\n",a=a+1,a+6,b+2);} 则上面程序的输出结果是____马上要考试了,为什么不是4啊
输出:2
因为=运算符的优先级低于,(逗号)运算符,所以printf("%d\n",a=a+1,a+6,b+2);等效于:printf("%d\n",(a=a+1),(a+6),(b+2));也就是printf多提供了2个无用的参数
注意:不能把a=a+1,a+6,b+2当做是一个,(逗号)表达式