c++循环语句中i++和++i的区别
发布网友
发布时间:2022-05-05 00:20
我来回答
共4个回答
热心网友
时间:2022-06-27 17:09
可以的,区别在于i++是先引用i以后再加1,++i是加1后再引用i,在不引用i的值的表达式的情况下,两者的效果是一样的,但是效率不一样,++i的语句在汇编代码中比i++更优化,效率也更高。
热心网友
时间:2022-06-27 17:10
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的拷备。
热心网友
时间:2022-06-27 17:10
如果是赋值的话,比如a=i++或者a=++i,则i++先赋值再+1,++i则先+1再赋值,如果是用在for循环里面,听说对编译器来说++i会快一些
热心网友
时间:2022-06-27 17:11
循环语句中如果只用到简单的i++;或者++i;则没有任何区别。
C语言中,i , i,以及i--,--i,啥意思,如何区别,老是搞不清,高手支个招...
i就是普通的变量。i--意思是先带入原来的变量i的值运算,然后i自减一,下次用时i就变成i-1了 --i是先自减一,然后带入计算,就是说,当前你所算的式子上用的就是i-1。
C语言中for循环里的变量i和for循环外的变量i一样吗?为什么?
临时更好理解了,就是临时使用一下,也是局部变量的一种,不过范围更小,用完就丢弃。比如 for(int i=0;i<10;i++) { //{}里这部分是i的作用范围,你可以把i理解成局部的,就是在{}括号里面的是局变量,也可以理解成临时变量。因为i只在for这个循环体内临时使用。} int swap(int *a, int...
c 中的i 是什么意思
在 C 语言中,变量是被使用的基本单位,而 i 是一个常见的变量名。通常情况下,i 表示整型变量,它用来表示一个整数值。在循环中常常会使用 i 来作为循环变量,如 for (int i = 0; i < 10; i++) {},其中 i 被赋值为 0,并在每次循环结束后自增 1,直到 i 等于 10 停止循环。除了...
c+加i和i++有什么区别?
1、赋值顺序不同 ++i是先加后赋值;i++是先赋值后加;++i和i++都是分两步完成的。因为++i是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i=a=b,即++i是一个左值;i++的后面一步是自增,不是左值。形象的理解可以是i++先做别的事,再自己加1,++i先自己加1,再做别的...
...i=0;;) 两种定义循环变量的方式有什么区别?
两种均可,前者i在for循环外部定义,则i的值在程序未结束之前就一直存在,i所占的内存空间直到程序结束时才释放;后者的i在for循环内部定义,则当for循环结束时,i所占的内存空间就被释放了。一般建议用后者的方式,因为当程序较大时,前者更占内存,这样程序在运行时CPU的负担就更大,内存溢出的风险...
C语言 int i 的i代表了什么
这个i的使用应该延续了三四十年了,从有C的时候就开始用,没多少人关心i代表什么)但是从i多用于迭代来看,应该是iteration的缩写,英语中circle也是循环的意思,但是此循环不同于iteration,计算机中的循环语句翻译成英文多是iteration(或者是loop)从来没有过circle。 迭代和循环其实是一个意思 ...
c语言题,switch(i)中的i有什么含义吗,case中的1、2有什么含义吗,怎么会...
i是代表几,例如是1的话。那就是运行第一行代码。case1;如果是2的话,case:2其他的都一样。
c语言中i++和++i的区别
i++和++i都是c语言里的自增,但是它们自增的顺序不同。++i表示,i自增1后再参与其它运算,而i++ 则是i参与运算后,i的值再自增1。for循环里循环变量增值用i++,而不用++i,是因为在循环结构里需要循环变量来结束循环,而使用i++则会导致本来应该继续的循环少执行一次,所以循环结构里通常都...
C语言中的while(!i)是什么意思
whie是C语言中的关键字,代表循环。while(i)和while(!i)的意思要看i这个变量(表达式)的值是真还是假(0和NULL就是假)。while(1)和while(99)和while(-76)甚至while(3-100)这类只要括号中的值(或表达式的值)非0,意思一样,代表可以循环并执行循环体,如果是while(0),则代表...
c语言中i--,--i和-i--有什么区别
意思一样,只不过你的程序有点问题,第二个程序中 if (s1[i] = '\0'){ strcat(ch, &s2[i]);} 应该为 if (s1[i] = = '\0'){ strcat(ch, &s2[i]);}