总是记不住,每次想起来用无论是看代码还是要写代码,总是混沌。
第一:其实for循环内的i++和++i效果是一样的,也就是说,只要没有单独作为一个语句出现,i++和++i是爱谁谁;
第二:应用中的i++和++i的区别如下——
(或者说,得到了这样的解释)
后++,那就是输出完了才做++运算,所以很自然都是原值0。前++是参加运算前增1,后++是参加运算后增1,知道这些就够了。至于printf("%d,%d,%d\n", i++, i++, i++); 中的i++, i++, i++这种写法,一贯是不提倡的,因为不同的编译器会作出不同的解释,得到不同的结果,所以最好不要纠结它……区别在于当i++;或者++i;作为赋值语句右值时,譬如 a=i++;和a=++i; 前者可以拆成a=i; i=i+1; 后者可以拆成i=i+1; a=i; 注意顺序!
system"完"