c语言中的i++和++i之间有什么区别呢?为什么题里面有时候就用的不一样呢?

如题所述

当i++用在语句中时,先执行语句,i再加1
++i用在语句中时,i先加1,再执行语句

int i = 0, j = 0;
j = ++i;
j结果为1
i结果为1

int i = 0, j = 0;
j = i++;
j结果为0
i结果为1
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-17
打个比方:
s=i++;

s=++i;
前一句被调用结束后,i++才发生作用;后一句则是首先使++i发生作用,然后再调用语句。因此i虽然都在语句调用完成后有++操作,但是后一句的++操作在前,因此s比第一个s大了1.
第2个回答  2011-08-17
i++  先取i 值后加1
++i 先加1后取i 值
第3个回答  2011-08-17
i++是先表示i,然后+1;++i是先加1然后表示i。假设i的值为2,printf("%d",i++)输出2,i的值变为3 ,如果后面是++i,输出3,i的值3
第4个回答  2011-08-17
i++运行完之后,i才会自加1
++i是,一开始就再加1
第5个回答  2011-08-17
i++,先用i,后加一
++i。i先加一,再运算
相似回答