刚学习编程的时候遇到的自增前后缀的问题,如++k和k++,当时只记了一下它们运算后的结果相同,只是过程不同,今天刷题的时候再次遇到相关的,产生了疑惑,以下是我个人理解,如有错误,望不吝指正。
首先,先看一段代码:
#include<iostream>
using namespace std;
int main()
{
int a[3]={2,3,4};
int k=0,c=0;
cout<<a[++k]<<endl;
cout<<a[c++]<<endl;
cout<<k<<endl<<c<<endl;
return 0;
}
答案如下:
前缀,为先运算后传值,即先用后加,所以a[++k]也就相当于a[1]
后缀,为先传值后运算,即先加后用,所以a[c++]也就相当于a[0]