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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 08:41:57
请读程序:main() { int a=1,b=2; printf(

请读程序: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当做是一个,(逗号)表达式