三目运算符与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编译生成后运行如下
这里不讨论编译器的问题,可以发现,两种方法效率是相当的
#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编译生成后运行如下
这里不讨论编译器的问题,可以发现,两种方法效率是相当的
相关文章推荐
- if else条件语句和条件(三目)运算符的应用场合
- 求学生等级--if...else和switch...case和三目运算符
- javascript下if else语句和三目运算符性能测试
- 计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用pow函数
- 计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用构造函数
- if...else和三目运算符的区别
- 递归一定要用if, else, switch, case或三目运算符吗?---非也!
- 三目条件运算符与 if...else
- 计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用间接递归
- 计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用多态性
- js第一课三目运算符和if ..else if..else区别
- (转)switch与ifelse的效率问题 .
- javaScript的运算符和if。。else语句
- c语言if-else的效率比较
- switch与ifelse的效率问题
- switch...case 和 if...else效率比较和优化
- switch...case和if...else效率比较
- switch...case 和 if...else效率比较和优化
- if...else if...和switch...case...执行效率
- swhich case 和 if else 的效率问题