记忆小技巧,看 ++ 的位置,如果 ++ 在前,就是先自加,再赋值,如果 ++ 在后,就是先赋值再自加。
1. ++i
++i 先自加,再赋值。
#include<stdio.h>
int main()
{
int i = 0;
int j = ++i;
printf("i=%d\tj=%d\n", i, j);
return 0;
}
此时输出 i=1 j=1
2. i++
i++ 先赋值,再自加。
#include<stdio.h>
int main()
{
int i = 0;
int j = i++;
printf("i=%d\tj=%d\n", i, j);
return 0;
}
此时输出 i=1 j=0
3. ++i 和 i++ 作为自加时的效率比较
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int i;
int N = 2000000000;
int temp;
clock_t startTime, endTime;
startTime = clock();
for(i = 0; i < N; ++i)
{
;
}
endTime = clock();
cout << "++i 运行" << N << "的时间为: " << (double)(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl;
startTime = clock();
for(i = 0; i < N; i++)
{
;
}
endTime = clock();
cout << "i++ 运行" << N << "的时间为: " << (double)(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl;
startTime = clock();
for(i = 0; i < N; i+=1)
{
;
}
endTime = clock();
cout << "i+=1 运行" << N << "的时间为: " << (double)(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl;
system("pause");
return 0;
}
|