i++==i++ 是什么意思? 聊天ii是什么意思

6209℃ GWEN

i++==i++ 是什么意思?聊天ii是什么意思

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~

TAG: