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
是整数类型_Bool
的typedef名称。
我明白你为什么这么做,但读起来很困惑。BTW不需要铸造
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;
}
意图要清楚得多。