小小的数据类型转换
今天项目遇见一个问题,数据类型转换的问题
描述如下:
echisdnlist.Cout();这是个链表内容个数计算函数,解析出是个 unsinged int 数值
有个整型的变量 定义为:int numbernow = 0;
程序如下:
if (numbernow - echisdnlist.Cout() >= 0)
{
//执行某些代码
}
else
{
//......
}
这样的程序就出错了,大家一眼看出程序错在哪吗??
后来我这样写
int tempisdncout = echisdnlist.Cout();
if (numbernow - tempisdncout >= 0)
{
//执行某些代码
}
else
{
//......
}
就对了。
问了几个同事都不知道为什么,后来查了《C++程序设计语言》才知道问题根源。