c语言中k ii+i++是什么意思

2021-01-13 22:37:11 字数 6121 阅读 5448

1楼:匿名用户

(i++)+i+(i++) 就是k=i+i+i,然后i+=2

计算机c语言中i++代表什么意思

2楼:答题狂魔想升级

是自增运算,而且是先加1后再执行。

例如:int i,k;

for(i=0,k=0; i<5; i++)

第一次进入时i的初始值是0,k的初始值也是0。这时的i++并没有在本次语句中起到加一的作用,而是要在本次操作结束后再起作用,也就是在第一次循 环完全结束后。进入循环体本人看,k += i++;这时由于这里的是i++(需要先操作后加1),所以,k的值理所当然是0了,而在本句结束后i的值就进行了加1操作,在本次循环结束时又进行了一 次加1操作,所以本次循环结束后k=0,i=2;

第二次进入时i的初始值是2,k的初始值是0。同理分析,在k += i++;后k的值为2了,而i的值也由于两次i++变为了4。所以,本次循环结束后k=2,i=4;

第三次进入时i的初始值是4,k的初始值是2。同理分析,在k += i++;后k的值由于经过原来的值与i当前的值相加后变成了6,而i的值同样是在最后加了两个1。所以在本次循环结束后k=6,i=6;

第四次准备进入循环时,发现i的值已经比5大了。因此,程序终止。最后k的值为6,i的值也为6。

3楼:匿名用户

一个是先运行在输出i的值 i++

一个是先计算在输出i的值 ++i

4楼:奔跑の矿泉水

#include

void main()

结果:9,11,8,10

c语言里,i++与++i的区别,最好举例说明

5楼:妫淑琴严鹃

i++是使用后再加1,如果i的初始值是0、输出i++则为0

++i是使用前加1,如果i的初始值是0、输出++i则为1

6楼:匿名用户

前置的++,是变量先自增1,然后再作其他操作,后置的++,是先取变量当前的值操作,然后再自增1你的例子中,i的初始值是1,执行k = ++i;时,先执行了 i = i + 1,也就是i的值变为2,再把i的值赋给k,所以k的值是2,i的值也是2

执行z = i ++;时,先取i的值赋给z,此时i的值是2,所以z也是2,然后再执行i= i + 1,这条语句执行完成后,i的值变为3

7楼:

独立的i++与++i的效果是一样的,最后都使i的值增1。

在表达式中i++取i的值参与运算,之后才执行++使i增1,而++i取i+1的值参与运算,就是说行执行++使i增1,再取i的新值参与运算。

把题面的**printf("%d\n",z);改成printf("%d %d\n",z,i);,看看是不是i值比z大1?这就完全清楚了!

8楼:潜素芹田培

i++:(++在后)在程序取用i时,i是原来的值,当该行指令执行完毕时i自动加1

++i:(++在前)在程序取用i时,i先自动加1后再执行该行指令..

9楼:匿名用户

i++ 和 ++i的基本功能是相同的,都是对变量i进行自增1运算,从功能上讲相当于i =i+1 ;

++运算符分为前缀++和后缀++,如i++中的++就是后缀运算符,++i中的就是前缀运算符,两个的区别在于:

前缀++,先使用变量,再进行变量自增1

后缀++,先进行变量自增1,再使用变量

现在分析你的**:

i=1;

k=++i;//先加,后用,i=i+1=2k=i=2z=i++;//先用,后加,z=i=2,i=i+1=3输出22

10楼:曾德文溥夏

i++是先使用变量的值,后加1;

++i是先自加1,然后使用变量的值。

本例中:

str[j++]=str[i];

相当于:先赋值,后自加。

str[j]=str[i];

j++;

11楼:卿连枝戈雀

区别大啦

++i,i++,a

如果a=

++i;

等价于i=

i+1;a=

i;如果a

=i++;

等价于a=i;

i=i+

1;往往处理这些时,要与编译器联系起来,多个++i相加想见与编译器有关的

c语言 i++和++i什么区别?

12楼:枫玺

i++和++i都是c语言里的自增,但是它们自增的顺序不同。++i表示,i自增1后再参与其它运算,而i++ 则是i参与运算后,i的值再自增1。

for循环里循环变量增值用i++,而不用++i是因为在循环结构里需要循环变量来结束循环,而使用i++则会导致本来应该继续的循环少执行一次,所以循环结构里通常都是循环变量在一次循环结构执行完成之后再自增。

扩展资料i++和++i前置后置区别的例子:

1、a = i++;

相当于 a = i; i++;

2、a = ++i;

相当于 i++; a = i;

3、int i=3;

int j=4;

int a = i++;

int b = ++j;

printf("%d, %d\n", a, b);

结果是3,5。++前置:i自增1后再参与其它运算;++后置:

i参与运算后,i的值再自增1”。很明显,a = i++;由于是先执行赋值运算,再自增,所以结果是a=3,i=4;而b = ++j。

13楼:丿染指流年丶丶

c语言 i++和++i的区别:

1、i++式子值为i原来的值,就是通俗说的“先赋值再加1”;

2、而++i式子值为i变化后的值,也就是“先加1后赋值”。

而在for循环中,如果要表示递增,两种都可以。

14楼:匿名用户

对于变量i来说都会在原来基础上加1的,重点区别于式子本身的值;

1、i++式子值为i原来的值,就是通俗说的“先赋值再加1”;

2、而++i式子值为i变化后的值,也就是“先加1后赋值”;

在for循环中,如果要表示递增,两种都可以。

15楼:虫心菜

1、i++是先对i操作,再对i执行+1;++i是先运行+1,将值赋给i后,再对i操作。

2、独立使用时二者效果一样。在表达式中i++取i的值参与运算,而++i取i+1的值参与运算。在表达式中++i可以做左值使用i++则不能,所以++i是“左值表达式”而i++不是。

比如:int i=1;

(1)、用i++时:int a=1+ i++; //运行过程是1+1,然后再将结果2赋给a,最后是i=i+1。

(2)、用++i时:int a=1+ ++i; //运行过程是先运行i=i+1,得到2,然后运行1+i,并将结果1+i赋给a。

扩展资料

1、"++"是c和c++还有java等高级语言里的自增运算符,使可变左值(如变量,迭代器变量等)加一。用法主要有两种:i++;++i;。

2、"++"是c和c++里的自增运算符。其中:++i是使用i之前先使i加一。

i++是使用i之后再加一。如果不能理解,那么可以理解为:++i是先计算,再操作,i++是先操作,再计算。

java里的自增运算符。

3、其中:++i和i++是谁在前先取谁,但加一优先运算并赋给原值,取的值再参与其他运算。

16楼:匿名用户

下面我们通过一些实例来深入理解自增运算符的特性,自减运算符同理自悟例:int i=3;

int j=4;

i++;

++j;

printf("%d, %d\n", i, j);

对此,eric想大家都不会有什么困惑,结果就是 4,5;下面我们来做一点小改动:

int i=3;

int j=4;

int a = i++;

int b = ++j;

printf("%d, %d\n", a, b);

结果又是多少呢?这里就开始体现出++前置与后置的区别了,结果是3,5。结合此例,我们回头再来理解一下“++前置:

i自增1后再参与其它运算;++后置:i参与运算后,i的值再自增1”。很明显,a = i++;由于是先执行赋值运算,再自增,所以结果是a=3,i=4;而b = ++j;

则因先自增,然后再赋值,所以b,j均为5。

17楼:匿名用户

i++和++i相同之处是i都自增一,不同是i++表达式的值就是i,因为i++是先赋值后加值

而++i表达式的值是i+1,因为++i是先加后赋值如,i=1,i++表达式为1,++i表达式的值为2,至于你说的for循环里循环变量增值 要用i++ 而不用++i ,个人认为从循环变量(i)增1考虑,两者没有区别,应该要看到完整的程序才能说用哪个

希望这些对你有用!o(∩_∩)o...

18楼:匿名用户

i++表示递增不在循环中则表示i的值+1;

i++与++i的区别是

i++是先操作后赋值 也就是如果你在此输出i++;

还是输出的i的值,便是你在i++;后面再写一句输出语句则i的值就变了;

而++i则是先赋值后操作,同理在++i的时候输出会得i+1的值,在后面输出也一样

19楼:匿名用户

您好!通俗来讲以++为例,++a表示先+1后赋值,a++表示先赋值后+1;--则与之相同,-1而已。

比如int a=1;int b=++a;b的值就是2,a的值也是2。如果是int b=a++,则b的值是1,a的值是2。这都是指的局部变量。--类似

for循环里也可以++i,for循环里的++i没有赋值顺序可言,比如for(int i=0;i<10;++i)也是从0到9循环

希望能帮到您!敬请采纳!

中国物联网校企联盟

20楼:匿名用户

i++的作用是先对i进行操作再++;

如: int a = 1;

int b = a++; //此时先运算b=a,再a++,故b=1,a=2

int c = --a; //此时先--a,再运算c=a,故c=1,a=1

21楼:匿名用户

他们主要区别在于:如i=5

++i是先把i的数值增加1,在使用该值如(++i,那么使用的值就是6,)

i++是先使用该数值,使用后在i的值在+1如(i++,那么使用的值就是5,但是该句话执行之后i的值依然是6 )

for循环里两者是一样的效果

22楼:匿名用户

错略低看,++i和i++的作用相当于i=i+1,但是++i和i++的不同之处在于++i喜欢i先执行i=i+1后,在使用i的值,而i++是先使用i的值后再执行i=i+1.

23楼:梦之阳

++i是i先加1 在计算 i++先计算在加+1! i++和++i都可以用只不过初值不同!!不过一般都用i++!!!

24楼:匿名用户

i++是先运算后自加,而++i是先自加后运算!

25楼:经沙陈峰

一直以来,++

--语法浪费了太多人的时间。说句实在话,++--在c语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了。

由于中国的c语言教程长期以来被谭浩强主宰,而谭又错误的把++--作为一个c语言重点来教,并增加了一些难点,把本来很简单的语法,搞得复杂无比!

简单的来说,++i

和i++,在单独使用时,就是

i=i+1。而a

=++i,相当于

i=i+1;a=

i;而a=

i++,相当于a=

i;i=i+1;

如果实在搞不明白++

--怎么回事,那也不是什么天塌下来的事。

因为a=++i完全可以写成

i++;

a=i。

a=i++完全可以写成

a=i;

i++。

而且,这也是一种好的程序风格:++

--语句如非特殊需要,请单独一行使用。

C语言K++是什么意思,C语言 K++什么意思

1楼 贪吃的xiao熊 k 3 就是 k k 3的意思 c的值是 b ,那么进入switch语句时为第二条case语句,执行k 2,此时k 6,由于没有break语句,即不跳出switch,那么继续执行第三条case语句,此时k 7,输出结果,完毕! 延展 c语言 c语言是一门通用计算机编程语言,应...

c语言中sk是什么意思,c语言中 k*=2 是什么意思

1楼 匿名用户 相当于 s k,取结构体中k的值 2楼 匿名用户 struct studentstu s stu k s k s是指向结构体的指针 3楼 发烧友eri画家 s是结构体指针,指向结构体中的变量k 也就是k的值 c语言中s k是什么意思 4楼 匿名用户 就是s s k的意思就是把s的值加...

c语言for(i 0,j 10 ij,i-j ij中ij是什么意思

1楼 匿名用户 for 循环中间的语句是循环结束的条件 是个bool值,true和false i逗号表达式 就是逗号分隔的若干个表达式,逗号表达式最后的结果是 最后一个表达式的值 也就是i j的值 c语言中 非0为真,0为假 也就是i j 为0整个循环就结束了 2楼 匿名用户 判断循环是否结束的条件...