栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C/C++语言 ++i 与 i++ 详解

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C/C++语言 ++i 与 i++ 详解

记忆小技巧,看 ++ 的位置,如果 ++ 在前,就是先自加,再赋值,如果 ++ 在后,就是先赋值再自加。

1. ++i

++i 先自加,再赋值。

#include
int main()
{
    int i = 0;
    int j = ++i;    
    printf("i=%dtj=%dn", i, j);    
    return 0;
}

此时输出 i=1 j=1

2. i++

i++ 先赋值,再自加。

#include
int main()
{
    int i = 0;
    int j = i++;
    printf("i=%dtj=%dn", i, j);
    return 0;
}

此时输出 i=1 j=0

3. ++i 和 i++ 作为自加时的效率比较
#include 
#include 
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;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/862659.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号