bool comapare(int val)
{
if(val>5)
{
return true;
}
return false;
}
int myFunct(int x,int y)
{
int count = 0;
count = (int)compare(x) + (int)compare(y);
return count;
}
我想像上面一样添加布尔值。将其类型转换为最好的方法。任何意见。
bool comapare(int val)
{
if(val>5)
{
return true;
}
return false;
}
int myFunct(int x,int y)
{
int count = 0;
count = (int)compare(x) + (int)compare(y);
return count;
}
我想像上面一样添加布尔值。将其类型转换为最好的方法。任何意见。
无需转换值。你可以写
count = compare(x) + compare(y);
由于整数提升,操作数将提升为类型int
,结果也将具有类型int
。
并且由于计数不能具有负值,因此最好将其声明为具有无符号整数类型,例如size_t
或至少unsigned int
。
函数比较也可以写得更简单
bool comapare(int val)
{
return val > 5;
}
在 C 中,类型bool
是整数类型的 typedef 名称_Bool
。
我明白你为什么要这样做,但它读起来令人困惑。顺便说一句,不需要演员表
int myFunct(int x,int y)
{
int count = 0;
count = compare(x) + compare(y);
return count;
}
工作正常,但我会做
int myFunct(int x,int y)
{
int count = 0;
if (compare(x)) count++;
if (compare(y)) count++;
return count;
}
意图要清楚得多。