i++和++i是什么意思?

如题所述

简单的理解就是i++是先访问i然后再自增,而i++则是先自增然后再访问i的值。

用下面的代码作为一个例子

#include <studio.h>

int main() {

int i,x;

i = 1;

x = 1;

x = i ++;    //先让x变成i的值1,再让i加1

print("%d", x);     //输出的x为1

print("%d", i);     //输出的i为2

i = 1;

x = 1;

x = ++i;    //先让i加1, 再让x变成i的值2

print("%d", x);    //输出的x为2

print("%d", i);    //输出的i为2

}

扩展资料

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

参考资料C语言(运算符号)_百度百科

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-07-08

i++和++i是C语言运算符,i++是后缀递增的意思,++i是前缀递增的意思。

1、i++是后缀递增的意思,i++是先进行表达式运算,再进行自增运算。把i++的运算过程拆分开,等效于i=i+1可以看到运算结果是一致的。

x = i ++;    //先让x变成i的值1,再让i加1

2、++i是前缀递增的意思,++i是先进行自增或者自减运算,再进行表达式运算。运算结果可以发现,仅从i的值来看,++i和i++最终的i值是一样的,都是i自增加了1。

x = ++i;    //先让i加1, 再让x变成i的值1

扩展资料

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语言运算符

本回答被网友采纳
第2个回答  推荐于2019-10-12

i++表示先进行表达式运算,再进行自增运算的意思。++i表示自增或者自减运算,再进行表达式运算的意思。如果只是从i的值来看,两者的数值最后都一样。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

扩展资料:

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。

每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。

Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。

参考资料:百度百-Java




本回答被网友采纳
第3个回答  推荐于2017-09-21
都是i=i+1的意思,区别在于i++是i先不自加,在语句完后自加,++i先自加;列如a=1+i++;i本来为1的话,这里a=1+1;语句完后i才加1为2;
a=1+++i的话就先i=i+1;i=2.然后a=i+1,a=3本回答被提问者采纳
第4个回答  推荐于2018-04-19
i++ :先引用后增加
++i :先增加后引用
i++ :先在i所在的表达式中使用i的当前值,后让i加1

++i :让i先加1,然后在i所在的表达式中使用i的新值本回答被网友采纳
相似回答