C/C++程序设计中i++和++i的区别

来源:互联网 发布:中国联通通信网络维护 编辑:程序博客网 时间:2024/06/16 18:08

在几乎所有的高级编程语言中,都有i++和++i的内容,而在C语言里,这一块是基础的不能再基础的内容,但是想当年谭浩强的C语言程序设计让我见识了什么叫小题大做,其实这是一个很简单的概念。类似的还有“--”。

记住两点就够用了,第一,++i 和 i++,在单独使用时,就是 i=i+1,例如下面两个程序在gcc编译后运行结果完全一样。

#include<stdio.h>#include<stdlib.h>int main (){int i=0;for( i=0;i<10;i++)printf("%d ",i);printf("\n");for( i=0;i<10;++i)printf("%d ",i);printf("\n");}
都是

0 1 2 3 4 5 6 7 8 9
 同样,如果是C++写的程序,如果使用g++来编译

#include<iostream> using namespace std;int  main(){for(int i=0;i<10;i++)cout<<i<<" ";cout<<endl;for(int  i=0;i<10;++i)cout<<i<<" ";return 0;   } 
这两行运行的结果也是一样的,0 1 2 3 4 5 6 7 8 9。
第二点,a=i++;相当于 a=i;i=i+1;a=++i;相当于i=i+1;a=i;

所以,这里的两行代码执行结果就不一样了:

int a=0;a=i++;printf("a=%d,i=%d",a,i);i=1;a=0;a=++i;printf("a=%d,i=%d",a,i);
记住这两点就够了。




0 0
原创粉丝点击