一直以来,++ --语法浪费了太多人的时间。说句实在话,++ -- 在C语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了。
由于中国的C语言教程长期以来被谭浩强主宰,而谭又错误的把++ --作为一个C语言重点来教,并增加了一些难点,把本来很简单的语法,搞得复杂无比!
简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。
而 a = ++i,相当于 i=i+1; a = i;
而 a = i++,相当于 a = i; i=i+1;
如果实在搞不明白++ --怎么回事,那也不是什么天塌下来的事。
因为a=++i完全可以写成 i++; a=i。
a=i++完全可以写成 a=i; i++。
而且,这也是一种好的程序风格:++ -- 语句如非特殊需要,请单独一行使用。
孩子,加加减减运算符是每个初学者都会遇到的难题。
++i和i++是有区别的。随便举个例子:int b, a = 1; b = a++; 这里 如果printf b的话,是1,执行完 b = a++这一句之后a才变成2;如果是++i就是b等于2,a也等于2.
这回你懂了吧。满意请采纳,谢谢
没一个看懂提问者的意思,他是问根据运算符的优先级,++优先与赋值号=,应该是先i++再赋值给a,而实际是先赋值a=i,再i++,这违背了运算符的优先级,我也想问这个问题的。要是就是书中说的运算优先级说的不严谨还是其他什么原因。
会先对a进行赋值,然后i再自增
因为上述语句造价于:a=i;i++;