假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是()

如题所述

下面的引自C FAQ:4.7 我怎样才能理解复杂表达式?``序列点" 是什么?序列点是一个时间点(在整个表达式全部计算完毕之后或在 ||、 &&、 ? : 或逗号 运算符处, 或在函数调用之前), 此刻尘埃落定, 所有的副作用都已确保结束。 ANSI/ISO C 标准这样描述:在上一个和下一个序列点之间, 一个对象所保存的值至多只能被表达式的 计算修改一次。而且前一个值只能用于决定将要保存的值。第二句话比较费解。它说在一个表达式中如果某个对象需要写入, 则在同一表达式中对该对象的访问应该只局限于直接用于计算将要 写入的值。这条规则有效地限制了只有能确保在修改之前才访问 变量的表达式为合法。例如 i = i+1 合法, 而 a[i] = i++ 则非法 (参见问题 3.1)。
如上所述,逗号表达式是一个序列点,所以x+y时y++的副作用已生效,这时候y=6,x+y=8,表达式最后的值是8.
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-04
y++时 y=5;x+y时y=6,
当++放在变量的后面时,总是在执行下一条语句时才加1
第2个回答  2013-08-04
先使用y,y再变成y+1,结果为7
第3个回答  2013-08-04
8

假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是()
如上所述,逗号表达式是一个序列点,所以x+y时y++的副作用已生效,这时候y=6,x+y=8,表达式最后的值是8.

...假设所有变量均为整型,则表达式(x=2,y=5,y=++,x+y)的值为?答案是8...
这是逗号表达式,运算顺序为最后一个式子x+y的结果,y=++该式等价于y=y++,就是y自加1,因而y的值变为6,而x值没有改变,因而x+y的值为8

假设所有变量均为整数,则表达式(a=2,b=5,b++,a+b)的值是( )。 A...
假设所有变量均为整数,则表达式(a=2,b=5,b++,a+b)的值是( )。 A. 7 B. 8 C. 6 D. 2选Ba=2,b=5,a+b++,b变成6,a+b=2+6=8b=6,b++ 是代表b先参与运算 在进行++操作 这是指 在一行语句中 题目中你分成了两句 这样的话b++ 执行过后 在执行a+b 到a+b的时候b已经等于6 本回答...

假设所有变量均为整型,则表达式(a=2,b=5, a+b)的值是()
逗号表达式,结果为最后一个表达式的值a+b 7

假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b)的值是
()里面用逗号分隔若干语句的话,最后一个语句的值就是整句代码的值。a=2,b=5不说了,a+b++,b变成6, 最后一个式子a+b=2+6=8

假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值
C里面用逗号表示挨个来运算,上式是运算完了再引用b的值,当然是2+6了。如果直接引用b++,像这样a=2,b=5,(b++ +a)那么结果就是 7 了。

假设所有变量均为整型,则表达式(a=2, b=5, b++, a+b)的值是
c里面用逗号表示每个来运算,上式是运算完了再引用b的值,当然是2+6了。在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。如果用八进制符号,...

假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是
表达式的值是8

我这有C语言的题,哪位大侠能解决一下,必有重谢!
5、假设所有变量均为整型,则执行运算x=(a=2,b=5,b++,a+b)后, x的值是( )。本题(1分)A:7B:8C:6D:2 A B C D 6、若二维数组定义为a[m][n],则在a[i][j]之前的元素个数为( )。本题(1分)A:j*m+iB:i*m+jC:i*m+j-1D:j*m+i-1 A B C D 7、当a=2,b=3,c=4,d=...

C语言中,假设所有变量均为整型,表达式(a=5,b=2,++a,b++,a+b)的值是...
【答案】:B B[解析]逗号表达式的值是最后那个表达式即a+b的值,++a和b++以后a、b的值分别变成了6和3,所以a+b=9,选择B。

相似回答