添加布尔值

发布于 2025-01-12 06:22:07 字数 259 浏览 1 评论 0原文

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

I want to add bool values as above. Is typecasting it as such the best approach to do so. Any comments.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不如归去 2025-01-19 06:22:07

无需强制转换值。您可以只写 由于

 count = compare(x) + compare(y);

整数提升,操作数将提升为 int 类型,结果也将具有 int 类型。

由于计数不能为负值,因此最好将其声明为无符号整数类型,例如 size_t 或至少 unsigned int

另外,比较函数可以写得更简单。

bool comapare(int val)
{
    return val > 5;
}

在 C 语言中,类型 bool 是整数类型 _Bool 的 typedef 名称。

There is no need to cast the values. You could just write

 count = compare(x) + compare(y);

The operands will be promoted to the type int due to the integer promotions and the result also will have the type int.

And as the count can not have a negative value it is better to declare it as having an unsigned integer type as for example size_t or at least unsigned int.

Also the function compare can be written simpler

bool comapare(int val)
{
    return val > 5;
}

In C the type bool is a typedef name for the integer type _Bool.

墨落成白 2025-01-19 06:22:07

我明白你为什么这样做,但读起来很混乱。顺便说一句,不需要演员阵容,

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

。意图更清晰。

I see why you are doing it but its confusing to read. BTW the cast is not needed

int myFunct(int x,int y)
{
  int count = 0;
  count = compare(x) + compare(y);
  return count;
}

works fine, but I would do

int myFunct(int x,int y)
{
   int count = 0;
   if (compare(x)) count++;
   if (compare(y)) count++;

    return count;
 }

The intent is much clearer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文