gpt4 book ai didi

c - 代码错误? [C]

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:08 25 4
gpt4 key购买 nike

我陷入了无限循环,由于某种原因,当输入 \n 时程序没有终止。此外,代码的重点是反转输入,但我正在尝试使用指针而不是整数来跟踪数组中的位置。

#define MSG_LENGTH 80

int main(void)
{
char msg[MSG_LENGTH], *p;

printf("Enter a message: ");

for (p = msg; p < &msg[MSG_LENGTH];)
{
*p++ = getchar();

if (*p == '\n')
break;
}

printf("Reversal is: ");

for (p--; p >= msg;)
putchar(*p--);

return 0;

}

最佳答案

试试这个:

#define MSG_LENGTH 80

int main(void)
{
char msg[MSG_LENGTH], *p;

printf("Enter a message: ");

for (p = msg; p < &msg[MSG_LENGTH];)
{
*p = getchar();
if (*p == '\n')
break;
p++;
}

printf("Reversal is: ");

for (p--; p >= msg;)
putchar(*p--);

return 0;

}

您在 break 条件之前增加了 p 指针。因此,即使 *p 包含 '\n',也会在递增指针位置后进行检查。

关于c - 代码错误? [C],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29385266/

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