gpt4 book ai didi

c - 如果一个变量被声明为无符号,那么与其相关的函数也必须是无符号的吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:28 24 4
gpt4 key购买 nike

我正在用 C 语言做一些移位工作,并且正在读取无符号字符。我使用这些变量的每个函数是否都需要将无符号字符作为输入,或者因为我将值加载为无符号,它会自动保持第一位为正吗?

基本上我需要做的是:

int Test1(unsigned char input1)
{
...
}

为了一切,或将:

int Test2(char input2)
{
...
}

够了吗?谢谢。

最佳答案

int Test2(char input2) 可能不起作用。 因为最大的 unsigned char 大于最大的 signed char(范围内的最大正整数)。

但是!

由于 unsigned charsigned char 的大小相同,无论您将其读作 signed char 还是 unsigned char 存储在内存中的是一样的。只是当你访问它们时解释不同。

此外,char var 并不意味着它是一个signed char。它实际上取决于编译器标志。 Read here .

关于c - 如果一个变量被声明为无符号,那么与其相关的函数也必须是无符号的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13456596/

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