gpt4 book ai didi

c - C 中的位移位

转载 作者:太空狗 更新时间:2023-10-29 15:49:33 25 4
gpt4 key购买 nike

int x = 2;

x = rotateInt('L', x, 1); // should return 4

x = rotateInt('R', x, 3); // should return 64

这是代码,有人可以检查一下并告诉我错误是什么吗?

编译成功,但执行时提示Segmentation Fault

int rotateInt(char direction, unsigned int x, int y)
{
int i;

for(i = 0; i < y; i++)
{

if(direction == 'R')
{
if((x & 1) == 1)
{
x = x >> 1;
x = (x ^ 128);
}
else
x = x >> 1;
}
else if(direction == 'L')
{
if((x & 128) == 1)
{
x = x << 1;
x = (x ^ 1);
}
else
x = x << 1;
}
}
return x;
}

最佳答案

现在开始磨练您的调试技能。如果您要成为任何形式的工程师,您将需要编写各种程序,因此一生都在调试。

开始调试的一种简单方法是放入 print 语句,以查看您的代码在结束前执行了多远。我建议您从隔离错误开始。

关于c - C 中的位移位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929072/

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