gpt4 book ai didi

不使用强制转换运算符比较 unsigned int 和 int

转载 作者:行者123 更新时间:2023-12-01 12:34:50 26 4
gpt4 key购买 nike

我环顾四周的每个人都有一个关于我的问题的话题,但我找不到。

unsigned int x = 5; 
int y = -3;
if(y<x)
func1();
else
func2();

func2 被调用。但我想调用 func1

我知道在比较这些值时必须使用转换运算符。
但不允许使用强制转换运算符或更改变量的类型。

我该如何解决这个问题?

最佳答案

首先检查 y 是否为负值,然后知道 x 将始终更大,因为它是无符号的。

如果 y 不是负数,则将其值直接与 x 进行比较。我认为这不会引起问题,因为不存在负号。

看下面的例子:

if(y<0)
{
//x>y
func1();
}
else if (y<x)
{
//lets say y=3, and x=5
func1();
}
else
{
func2();
}

关于不使用强制转换运算符比较 unsigned int 和 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30644943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com