C语言,请问这句代码的意思

来源:百度知道 编辑:UC知道 时间:2024/06/29 22:20:14
a+++++b;
就这样,执行后的结果是什么???

必须加括号才可以
c=(a++)+(++b)
b=b+1;
c=a+b;
a=a+1;

得到的是a+b+1的值。

a++ + ++b;
// a的值不变,b的值加1

a++ + ++b;
// a的值不变,b的值加1
正解哈
感概下 ,应试教育的产物a+++++b;

呵呵.........楼上的....呵呵

C在做词法分析的时候,遇到有二义性的token,总是采用最长的那个token,比如源文件中有相连的字符串->*,词法分析可以把它解释为'-','>','*'三个token,或者'->','*'这两个,或者一个单独的'->*',这就产生了二义性,按照规定,取最长的那个,也就是'->*'。
对于a+++++b来说,应用上述,实际上会被拆成 a ++ ++ + b。如果要想达到 (a++)+(++b)的效果,应该至少加一个空格 a+++ ++b。