c-添加布尔值


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;
}

意图要清楚得多。

相关内容

  • 没有找到相关文章

最新更新