c用什么软件编程:(c语言)a++的返回值不是左值,怎么解释???

来源:百度文库 编辑:高考问答 时间:2024/05/03 04:04:13
(c语言)a++的返回值不是左值,怎么解释???
还有一些类似的运算符号,帮帮忙!

赋值表达式返回的是结果吧,比如 x=2*y 的返回值和赋给x的值是一样的

这种自加自减的其实很简单,是由一个变量i和一个自加符号++组成
第一种情况:变量在前面,如:i++,就先使用i的值,再自加1
第二种情况:++号在前面,如:++1,就先使i的值加1,再使用
如:
printf("i++=%d,j--=%d\n,i++,j--);
先是i++,所以先使用i的值,显示5,然后i才加1变为6
然后j--,所使用j的值,显示5,再自减1变为4

printf("++i=%d,--j=%d\n,++i,--j);
++i : i先加1变为7,然后才显示7
--j : j先 -1变为3,然后才显示3
还有第三个:
printf("i++=%d,j--=%d\n,i++,j--);
i++ :跟第一条一样,先使用再自加1,所以显示7,再加1,变为8,但没显示
j-- :也是先使用再自减,所以显示3,然后减1变成2,但不显示
至于最后两个嘛,自已想想嘛,一样的道理

其实只要看第一个符号就行了,
第一个是变量,就先使用再运算,
第一个是++或--的,就先运算再使用