i++==i++ 是什么意思? 聊天ii是什么意思
更新时间:2021-10-04 19:07:31 • 作者:GWEN •阅读 9115
i =1; 和i=i 1;有什么区别
第二个会编译出错的。
因为 i=i+1; 是两步运算。
首先,i+1,返回一个int型的值(这里是2),(之所以是int型,是因为程序中将常量1默认定义为int类型。)然后试图将这个int型的值赋值给short型的i,这种类型转换需要强制定义,所以会出现编译错误。
修改方案:i=(short)(i+1);
而 i+=1; 则是一步运算。
就是使用+=运算符,给i加1,同时将加算结果(这里是short型的2)返回。但因为前面没有赋值语句,返回值未被赋给任何变量。返回值类型的不同,是+运算符和+=运算符的一大差异。
i=i++是怎么回事?
同编译器有关。
用VC++编译器 得 1
i++ 是后++,表达式里用老值,出了表达式更新。
这样看清楚:
int i=0,j;
j=i++; // 表达式里用老值,所以 j=0
printf("i=%d j=%d",i,j);
打印出
i=1 j=0
-----------------
i=i++;
表达式里用老值,出了表达式应当更新。
得0,说明编译器有问题,或编译时“优化”处理有问题。
c语言i=i++和i=i+1区别如何理解
当两个语句执行完了,其值就没有区别;但在执行过程中,前者i的值未变,后者的值比原来增加了1.
i++是什么意思
i这类型值 当然会给你定义i这个字母是哪个类型的值 比如int ~~float~~等
i++的意思是i这个值在运算后 把自己的值在加1 比如 3++的意思是 3在运算完成后 自己的值变成4
如果是++i 那么是i在运算前值就是4~