不是问a++和a--... 不是问a++和a--
将其复杂化后的结果i, j, k先+1再在if中減一是因为不改变运行结果时,我无法找到更好的方法表达
顺便可以此斩我,我喜欢写此类代码不过不在C语言罢。
a+或a-中变量a和后面的运算符号是两回事如果运算符号后面不写其他表达式,这是个语法错误的写法a是变量名+或-是运算符号
A++是A参与运算后,A的值再自增1
++A 是A自增1后再参与其它运算。
使用的技巧就是:把原始计算式转化成多个、有先后计算顺序的、小的计算式然后带入變量的值,进行求解记住:同一优先级的运算符的计算顺序是从右往左。
A++ 和++A 的主要区别是自增的顺序++在变量前表示先进行自增运算,即变量的值加1++在变量后则进行运算后再进行自增运算。
在同一条语句中被操作的数出现多次是可以通过编译的,但是其在C++ Standard等语言标准Φ被定义为"Undefined behavior"(不确定的行为)即不同的编译器或编译器版本所编译得到的机器码可能不尽相同。
不推荐在同一条语句中使被操作的数出現多次这不仅仅将导致程序的含义难以理解,可读性大幅降低同时可能导致不同的编译器或编译器版本得到不同的结果。
首先你要明皛什么是表达式还有变量。
a++就是运算后+1在表达式里面的时候还是a而++a就是先a+1然后代入表达式计算。