【发布时间】:2020-02-15 02:48:12
【问题描述】:
我正在构建一个基本的 C 程序,它不断地询问用户输入字符串并打印出输入的输入。当用户输入空行时,程序应该退出。然而,在我下面的程序中,即使我有一个条件来检查用户是否输入了一个空行,程序仍然会继续运行,直到用户输入一个输入。以下是我的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char userString[100];
while (1 == 1) {
scanf("%s", userString);
printf("USER ENTERED %s\n", userString);
if (userString[0] == '\n') {
exit(0);
}
}
}
【问题讨论】:
-
您可以添加
printf("first char is %d\n", (int)(userString[0])),无需在此处发布即可找到您问题的答案。这是一种非常基本的调试技术。你应该练习一些...... -
您也可以添加
printf("newline char is %d\n", (int)'\n')以找出差异。