gpt4 book ai didi

c - 为什么 while 循环中的这条语句从未被执行?

转载 作者:行者123 更新时间:2023-11-30 18:18:06 25 4
gpt4 key购买 nike

我编写了一些代码来右对齐字符字节中的所有位。但是,应用程序陷入循环,因为它从不执行 positionmask<<1; 行。

为什么会发生这种情况?

void rjustify(char thisChar)
{
unsigned char c = thisChar;
unsigned char positionmask = 1;
unsigned char insertionmask = 1;
while(positionmask)
{
if(c & positionmask)
{
c^=positionmask;
c|=insertionmask;
insertionmask<<=1;
}
positionmask<<1; //This line is never executed.
}
printf("%c", &c);
}

最佳答案

当该行被执行时,没有任何效果。打开编译器警告并将其更改为:

   positionmask <<= 1;

关于c - 为什么 while 循环中的这条语句从未被执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15124835/

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