我正在用C语言编写一个简单的函数,其目的是获取一个6位数,找出前3位,并根据此返回"r"、"w"或"o"。
然而,当我编译时,我得到了这个警告:'return makes integer from pointer without a cast'。然后,当我运行程序时,我发现函数返回了一个奇怪的字符,绝对不是我想要的三个字符之一。
这是怎么回事?谢谢您提前帮助。
以下是我的函数:
然而,当我编译时,我得到了这个警告:'return makes integer from pointer without a cast'。然后,当我运行程序时,我发现函数返回了一个奇怪的字符,绝对不是我想要的三个字符之一。
这是怎么回事?谢谢您提前帮助。
以下是我的函数:
char
readorwrite(int opcode)
{
if (opcode >> 3 == 4) {
return "r";
} else if (opcode >> 3 == 5) {
return "w";
} else {
return "o";
}
}