C/C++中的i++和++i有哪些区别

原创 2018年04月16日 03:25:38

1.不管是i++还是++i,其本质都是 i= i+1;

2.在没有左值的情况下,i++和++i的作用是一样的.

    比如在for循环里for(int i = 0 ; i < 10 ; i++){}和for(int i = 0 ; i < 10 ; ++i){}

    都是在执行一遍循环体后i = i +1(前提是循环体内没有对i做修改.)

3.对于i递增后的赋值情况,就不一样了.

    比如 :

int i = 0 ,a;        

a = i++;//这里等效于 a = i ,i = i +1;

std::cout<< a << i <<std::endl;

此时的 a= 0,而i = 1;

int j= 0 , b ;

b = ++j;//这里等效于j = j +1 , b = j;

std::cout<< b << j << std::endl;

此时的b = 1 , j= 1;

#include "stdafx.h"
#include <iostream>

int i = 0, a;
	int j = 0, b;
	a = i++;
	b = ++j;
	std::cout << a << " " << i << std::endl;
	std::cout << b << " " << j << std::endl;

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Cs_ChenSh/article/details/79955638

C/C++黑客编程入门

-
  • 1970年01月01日 08:00

C++中i++和++i的区别

答:理论上++i更快,实际与编译器优化有关,通常几乎无差别。  i++实现的代码为: //i++实现代码为: int ope...
  • u014465639
  • u014465639
  • 2017-05-30 22:11:03
  • 2008

【c++】i++和++i的区别

i++ :先引用后增加 ++i :先增加后引用 i++ :先在i所在的表达式中使用i的当前值,后让i加1 ++i :让i先加1,然后在i所在的表达式中使用i的新值 ++是i先不自加,在...
  • sinat_38944746
  • sinat_38944746
  • 2017-10-21 11:18:38
  • 625

在c/c++中,i++与++i的区别 (面试时常考的基础题)

/* i++和++i的区别在于,i++是先取i的值,然后i自动加1,而++i则是先i加1,然后取i的值 *//* test.c */#include void main(){int i=1;print...
  • Mobidogs
  • Mobidogs
  • 2007-03-10 21:33:00
  • 1698

c语言中i++与++i的区别及运行效率

在c语言我们会经常把i++与++i弄混淆。 i++    是先使用,再自加(其自加是在遇到结束标志时才会进行) 即a = i;i=i+1; ++i    是先自加,再使用 即 i=i+1; a...
  • Mormont
  • Mormont
  • 2016-11-11 19:39:29
  • 6948

关于java和c++中 i=i++结果不同的分析

学习过一门计算机语言的人一定知道j=i++的运算结果,整个表达式的值为i,而i的值变为i+1;那么i=i++又是一个什么情况呢?下面分别用java 和 c 两种语言来做个测试:   JAVA: ...
  • liuguangqiang
  • liuguangqiang
  • 2015-10-17 14:55:24
  • 1518

[C++]关于i++和++i的学习

  [C++]关于i++和++i的学习MoaKap今天在论坛上无意中看到有人问关于i++和++i的问题,感觉自己也不怎么熟悉,就仔细看了一下。感觉有位大侠的回复相当不错,很有特色,把问题讲得很明白,受...
  • ljinddlj
  • ljinddlj
  • 2007-12-10 10:56:00
  • 9580

C语言i++和++i的区别

i++和++i的区别虽然简单,还是记录一下吧!     【知识点】      1. 对于普通独立的语句,i++和++i是一样的,如:         i++; 等效于i=i+1;         +...
  • u013046097
  • u013046097
  • 2016-12-03 11:09:28
  • 3164

for循环中写i++与++i有啥区别吗

如果只是一条单独语句,没区别,比方说for(i=0;i 但如果不是单独语句,就有区别:比如n=++i;和n=i++;n赋的值就不同,前者n的值为i,i再+1,后者n的值为+1后的i值。再有把一个数组...
  • tsvico
  • tsvico
  • 2017-07-11 12:03:17
  • 1122

java中i++ 与 i=i++的区别

记得大学刚开始学C语言时,老师就说:自增有两种形式,分别是i++与++i,i++表示的是先赋值后加1,++i是先加1后赋值。...
  • wangmaohong0717
  • wangmaohong0717
  • 2017-02-04 17:32:11
  • 1439
收藏助手
不良信息举报
您举报文章:C/C++中的i++和++i有哪些区别
举报原因:
原因补充:

(最多只允许输入30个字)