以i++与++i为例:
1. 两者都能实现 i 在原来基础上加1的效果。如最初的i=2,则通过i++或++i执行后,i=3.
2. 但是两者在参与 scanf 与 printf 的输入和输出时,二者会有不同:例如执行i=2;printf("%d",i++); 两条语句时时,编译运行后显示屏上会输出2,而此时输出后,假如令 x=i++
的话,则此时x=3.
若执行 printf("%d",++i); 语句,则编译运行后显示屏上会输出3,同样假如令x=++i,则x=3. (这一条主要是程序考察点)
3. 简单记忆:“从左至右”依次执行
如 i++ :则先执行 i ,再执行 ++ 。便如 printf 输出语句中,程序中说明符 %d 会寻找 i 的值进行直接输出;若为 ++i 则先执行了 i=i+1; 此时 说明符 %d 便会输出它识别到的 i (此时 i =i+1,即已经为3).