作业帮 > 综合 > 作业

关于逗号表达式的问题.

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/25 22:13:34
关于逗号表达式的问题.
int i;
i=10-2,8/2;
其中i的值到底是多少?
答案如果是八,那么后面的8/2是干什么的
关于逗号表达式的问题.
8
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值.
如你的这个:
i=(10-2,8/2);
i=10-2,8/2;
对于第一行代码,有两个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是8/2,为4,所以i=4.对于第二行代码,那么也是有两个表达式,这时的两个表达式为i=10-2和8/2(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为4(最后一个表达式的值),但i=8.
如果有:j=(i=10-2,8/2);
那么它的值:i=8(10-2的值),j=4(8/2的值)
在你这里后面的8/2没用.
就像:
……
int j;
j = 8;
6/2;
……
这里6/2的值为3,但它没有赋给任何变量,所以得到的3没有用到,只是一个普通的计算而已.