c++循环语句中i++和++i的区别

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
在for循环中++i跟i++有区别吗?

主要有以下三个区别:
1、++i是先改变i的值即加1后再使用i的值;而i++是先使用i的值在改变它的值即加。
2、for循环内部仅形式不同:当i++循环和++i循环在for循环内部,虽然形式上明显不同,但输出结果可以一样。如下图所示:
for(i++)循环:

输出结果:

for(++i)循环:

输出结果:

3、print()输出函数内,不仅形式不同且输出结果也不同:i++和++i,二者在形式上明显不同,且输出结果也不同,输出值分别为1和2。如下图所示:
for(i++)循环:

输出结果:

for(++i)循环:

输出结果:

参考资料:百度百科-for循环中关于i++与++i的阐释

C语言中,循环语句中的++i 和i++表达的意思都是变量自增1;
单独是一个语句时无区别,作为赋值表达式的右值时有差异:
例子:
#include "stdio.h"
void main()
{
int a,b,j,k;
j=k=5;
a = ++j; //j先自加,再赋值
b = k++; //k先赋值,再自加
printf("%-4d%-4d%-4d%-4d
",a,b,j,k);
++j;
k++;
printf("%-4d%-4d
",j,k);
}

i++,i在前,所以先使用i,然后再使i的值加一,
++i,++在前,所以先自增一,然后再使用i.
eg1.
int i=3;
printf("%d",i++);//输出为3

eg2.
int i=3;
printf("%d",++i);输出为4

++i的实质就是把i加1然后返回i.
i++的实质就是把i的值赋给另一个变量,然后把i的值加一,返回刚才被赋值的i的拷备。

如果是赋值的话,比如a=i++或者a=++i,则i++先赋值再+1,++i则先+1再赋值,如果是用在for循环里面,听说对编译器来说++i会快一些

循环语句中如果只用到简单的i++;或者++i;则没有任何区别。

  • C语言中for循环里的变量i和for循环外的变量i一样吗?为什么?
    答:不一样。这是变量作用范围的小知识点。C语言中,变量分为全局变量,局部问题,临时变量,3类。全局的好理解,就是在程序的任何地方都可以使用的变量。局部变量,就是在一定范围内有定义的变量。临时更好理解了,就是临时使用一下,也是局部变量的一种,不过范围更小,用完就丢弃。比如 for(int i=0;...
  • c语言里面的i是什么意思
    答:i是C语言中的一个变量名,它通常被用作循环计数器的标识符。在 for 循环中,i 通常用来迭代一个有序的集合,如数组或链表。通过调整 i 的值,我们可以访问集合中的每个元素,并对它们进行处理。因为 i 仅仅是一个标识符,我们也可以选择其他的变量名来代替它,但是 i 经常被用作默认的标识符,因...
  • c语言中for(I=0;i<2,i++)是什么意思
    答:在c语言中 for(i=0;i<2,i++){ 循环体语句;} 这样的循环体会执行2次(分别是i=0和i=1时的情况)它的执行流程是这样的:首先给变量i赋初值0,然后判断,若满足条件i<2(是),就执行循环体的语句,完成后再i++,即 i = i + 1;i 变成1,然后再次判断是否满足条件i<2(仍是),就再...
  • C语言 int i 的i代表了什么
    答:i应该是这个词的缩写,因为int i大多是用于迭代,循环 虽然不全是单词缩写,但是,变量的命名确实不是随意的,有实际意义的变量名在编写程序的过程中是非常重要的 所以,虽然没有确凿的证据表明i是iteration的缩写(不太可能找到确凿证据,这个i的使用应该延续了三四十年了,从有C的时候就开始用,没多少...
  • C语言中,循环语句中的“++i”和“i++”表达的意思一样吗?
    答:C语言中,循环语句中的++i 和i++表达的意思都是变量自增1;\x0d\x0a单独是一个语句时无区别,作为赋值表达式的右值时有差异:\x0d\x0a例子:\x0d\x0a#include "stdio.h"\x0d\x0avoid main()\x0d\x0a{\x0d\x0a int a,b,j,k;\x0d\x0a j=k=5;\x0d\x0a ...
  • C语言中for循环语句
    答:for()语句包括三个表达式,第一个和第三个可以省略,省略第一个的意思是在for之前已经对变量初始化,例如i=0;for(;i<=5;i++)和for(i=0;i<=5;i++)意思相同;第三个省略的意思也很明显,原来的i++ 可以在for循环语句中实现,例如 for(i=0;i<=5;i++)和for(i=0;i<=5;){i++;...
  • 请问c语言中的for语句 for(i=0;i<n;i++)和for(i=1;i<=n;i++)一样
    答:只能说,循环次数一样,如果循环体中牵扯到i,就不一样了
  • C语言中循环语句有哪些?具体怎么用?大神们帮帮忙
    答:语句;初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用";"分开。例如:for(i=1;i<=10;i++)语句;上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。
  • c语言的三个循环语句该怎么区别呢
    答:}while( i>10 );return 0;} 程序运行:先执行循环体,执行i++,再打印出i的值2,然后进行判断i>10是否成立,2>10不成立,则不执行循环体,执行起后的语句return 0。特别注意:do…while循环语句中,在while括号后,要加分号(;),否则会出现报错。do…while循环和while循环最大的区别是:do...
  • c语言中for语句是怎么用的
    答:for是C语言中的一个关键字,主要用来控制循环语句的执行。举例:int i;for(i=0; i<3; i++)// i=0是初始化部分;i<3是循环判断条件部分(当满足此条件时才进入执行for循环中的语句);i++是执行完循环体语句后的操作 { printf("HelloWorld");} // 上面的for语句就是控制输出3次HelloWorld...