c语言i++与i+的区别是什么?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-31

1、赋值顺序不同

++i是先加后赋值;i++是先赋值后加;++i和i++都是分两步完成的。

因为++i是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i=a=b,即++i是一个左值;i++的后面一步是自增,不是左值。

形象的理解可以是i++先做别的事,再自己加1,++i先自己加1,再做别的事情。

2、效率不同

比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些。一般来说在循环域里面,这两者并没有什么很大的区别,但是要注意其生存周期,以及i值在程序流中的变化。

C语言运算符的特点

1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

3、不同的变量类型可以用结构体(struct)组合在一起。

4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

5、部分的变量类型可以转换,例如整型和字符型变量。

6、通过指针(pointer),C语言可以容易地对存储器进行低级控制。

7、预编译处理(preprocessor)让C语言的编译更具有弹性。



  • C语言中 ' | ' 和 ' || '区别是什么?
    答:||是逻辑或,左右两个数的值或以下返回0或者1
  • C语言i是什么意思
    答:就是一个变量,人们习惯用i,j等作循环变量,用其他的也可,就是一个变量而已
  • c语言中的问题 i!与!i分别指是什么意思?a == 0 和 !a 为什么是等价的...
    答:i!?,没有这种表达式吧。!在C语言里是逻辑取反的意思。C语言规定0为逻辑假,非0为逻辑真。所以!a就是!(a!=0),而a!=0也就是!(a==0),那么!aj就等同于!(!(a==0)),双重否定,即为a==0。
  • c语言中的- i--是什么意思?
    答:-i--就是先进行i--运算,然后再取其负值。下面是C语言运算符的优先级:--与负号处于同一优先级,而结合方向是从右到左,所以是先进行i--运算,再取负号。i--就是把i自减1,但是它的返回值却是i,这就是i--与--i的区别,--i的返回值就是i-1了。具体看下面一个程序:include<stdio.h>...
  • c语言中i--,--i和-i--有什么区别
    答:意思一样,只不过你的程序有点问题,第二个程序中 if (s1[i] = '\0'){ strcat(ch, &s2[i]);} 应该为 if (s1[i] = = '\0'){ strcat(ch, &s2[i]);}
  • c语言加加i和i加加有什么区别?
    答:i加加和加加i都是c语言里的自增,但是它们自增的顺序不同。加加i表示,i自增1后再参与其它运算,而i加加则是i参与运算后,i的值再自增1。相关介绍:C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器...
  • c语言i++与i++// i++的区别?
    答:2.i是一个变量,在声明时,编译器给它分配了存储空间,所以对于i的任何处理,不论是i++还是++i,也不论处理了几次,都是对于同一块存储空间的处理 下面开始正式的解题:int i=3;k=(++i)+(++i)+(i++);i=3,//i的初值为3 k=(++i)+(++i)+(i++);先从右向左处理:i++加上++i,...
  • i--和--i的区别是什么啊?
    答:--i 是先执行i=i-1,然后再使用i的值, 这时的i值就是表达式--i的值。i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。include"stdio.h"void main(){ int i=4,j,k;j=i--; //i先赋值给j,然后i在执行i=i-1;k=--i; //i先执行i=i-1,然后再赋值给;printf...
  • c语言中++ i和++ i++的区别是什么
    答:++i是使用i之前先使i加一。i++是使用i之后再加一。如果不能理解,那么可以理解为:++i是先计算,再操作,i++是先操作,再计算。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持...
  • C语言中。例如:I=0和I==0有什么区别啊?
    答:I=0是一个赋值语句,就是把0赋值给变量I I==0是一个表达式,就是判断I的值是否等于0