您的位置:首页 > 其它

三目运算符与if...else效率

2013-03-24 14:32 281 查看
测试代码如下:

#include <stdio.h>

#include <time.h>

int main()

{

time_t starti, endi;

int i;

int key;

starti = clock();

for (i = 0; i < 100000000; i++)

{

if (3>2)

key = 3;

else

key = 2;

}

endi = clock();

printf("if..else一亿次:%ld\n",endi-starti);

starti = clock();

for (i = 0; i < 100000000; i++)

{

key = (3>2)?3:2;

}

endi = clock();

printf("三目运算符一亿次:%ld\n",endi-starti);

return 0;

}

为减小误差,测试5次结果如下:

使用code::blocks生成











同样的代码,使用VS编译生成后运行如下











这里不讨论编译器的问题,可以发现,两种方法效率是相当的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: