if判断语句执行时间为0!

今天看MIT的开放课程的时候,看到一个if语句逻辑判断的化简,可以把这个if语句:
if(x>0||(x<0&&y>100))
{
}
化简成:
if(x>0||y>100)
{
}
于是我就想,既然语句得到精简,增强了可读性,但是效率方面呢?于是我写了个C计时程序,if()语句里面不执行操作,只是判断,循环一亿次,看其时间是多少,源代码如下:
#include<iostream>
#include<stdio.h>
#include<time.h>
main()
{
 int x=1;
 int y=4;
 clock_t t1;
 for(int i=0;i<100000000; i++)
 {
  t1=clock();
  if(x>0||(x<0&&y>100))
  {
   ;
  }
 }
 clock_t t2=clock();
 printf("%d",t2-t1);
}
结果很令我意外:
于是把次数设置成两亿次,结果还是一样,最后结论:if判断语句是不需要时间,即使要时间,也是一个小得不能再小的数,看来精简if判断语句唯一但很重要的好处就是增加源程序的可读性!
ps:哪位单核的朋友如果有时间就帮忙跑一下程序,检验一下我的结论正确性。谢谢!

你可能感兴趣的:(时间,职场,if,语句,休闲)