【发布时间】:2020-10-28 07:55:53
【问题描述】:
我无法通过输入换行符退出循环。
int input(char str[], int n)
{
int ch, i = 0;
while ((ch == getchar()) != '\n')
if (i < n)
str[i++] = ch;
str[i] = '\0';
return i;
}
【问题讨论】:
-
ch == getchar()是一个布尔表达式。它等于 0 或 1,并且永远不会等于'\n'(即 10)。你的意思可能是ch = getchar() -
这里的主要函数: int main() { char str[100]; int n = 输入(str,5); printf("%d %s", n, str); }
-
@Bloodknofsky 不要将代码放在评论中,而是 edit 您的问题并在那里进行所有说明。
-
您的...问题中没有问题...您的问题是警告还是您无法摆脱困境的事实?请编辑您的帖子。