以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  有谁知道区别?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=28150)


--  作者:bluetrain
--  发布时间:3/5/2006 10:22:00 PM

--  有谁知道区别?
有人知道吗?
在C语言里
int x,y;
。。。。。
if(x > y){}

if(x - y > 0){}
有什么区别??
--  作者:elfstone
--  发布时间:3/6/2006 3:00:00 PM

--  
if(x>y)只有一步比较运算
if(x-y>0)先做一步减运算再做比较运算(减的优先级大于比较符)这样提高了时间复杂度
所以还是以第一种写法为好。。。
--  作者:elfstone
--  发布时间:3/6/2006 3:00:00 PM

--  
if(x>y)只有一步比较运算
if(x-y>0)先做一步减运算再做比较运算(减的优先级大于比较符)这样提高了时间复杂度
所以还是以第一种写法为好。。。
--  作者:bood
--  发布时间:3/10/2006 1:48:00 PM

--  
溢出的时候会有区别吧

#include <iostream>
#include <string>
#include <limits>
#include <algorithm>
using namespace std;

int main()
{
int a,b;
a=numeric_limits<int>::max();
b=-1;
if(a>b) cout<<"a>b\n";
if(a-b>0) cout<<"a-b>0\n";
}


--  作者:supnate
--  发布时间:3/10/2006 1:53:00 PM

--  
赞一下boood
--  作者:elfstone
--  发布时间:3/11/2006 10:26:00 AM

--  
以下是引用bood在2006-3-10 13:48:00的发言:
溢出的时候会有区别吧

#include <iostream>
#include <string>
#include <limits>
#include <algorithm>
using namespace std;

int main()
{
int a,b;
a=numeric_limits<int>::max();
b=-1;
if(a>b) cout<<"a>b\n";
if(a-b>0) cout<<"a-b>0\n";
}


学习一下。。。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
125.000ms