若t为int型,表达式(t=1,t+5,t++)的值是? 中间不是有个t+5么为啥结果是1

若t为int型,表达式(t=1,t+5,t++)的值是? 中间不是有个t+5么为啥结果是1C语言

第1个回答  2018-01-13
t+5只是单纯的求值,并没有改变t的值
t=t+5才会改变t的值追问

谢谢兄弟 明白了

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

b++是运算结束后自+阿

追答

自增运算符是改变变量值的
逗号运算符是顺序点,每个表达式的副作用在各自对应的逗号处发生,也就是说在a+b前,b自增的效果就已发生

追问

那我第一个问题为什么结果不是二呢兄弟

我不明白

追答

第一个表达式整体的值由子表达式t++决定,而不是最终t的值决定,表达式结束后,t值确实是2,但是表达式的值就是1

追问

明白了明白了 谢谢兄弟

本回答被提问者采纳
第2个回答  2018-01-13
t+5只是算了一下,并没有赋值给哪一个变量,所以,从这个意义上说,这是“白算”了。
第3个回答  2018-03-10
它是表达式还没有进行运算
相似回答