程序:
#include <stdio.h>
int main() {
char t;
while(1) {
t='\0';
printf("\nExit?(y/n): ");
scanf("%c", &t);
if( t=='y' || t=='Y') {
return 0;
}
else
printf("\nContinuing...");
}
return 0;
}
输出:
$ vim Return.c
$ gcc -o Return Return.c
$ ./Return
Exit?(y/n): n
Continuing...
Exit?(y/n):
Continuing...
Exit?(y/n): n
Continuing...
Exit?(y/n):
Continuing...
Exit?(y/n): y
$
将'n'
作为输入后
Continuing...
Exit?(y/n):
循环一次,不接受用户的输入。如果代码中有任何错误,请告诉我
答案 0 :(得分:2)
您需要确保scanf
丢弃换行符。试试这样:
scanf(" %c", &t);
答案 1 :(得分:2)
尝试在scanf语句的格式标识符中给出空格。尝试像
这样的东西scanf(" %c",&t);