对不起,可能是愚蠢的问题,但我想练习循环了一下,出来这个想法。基本上它要求你进入或不进入循环,当你在它,它要求你做的事情。问题是,我进入循环后,它打印两次printf字符串之前传递给scanf一个,并等待输入。我无法弄清楚。 欢迎所有帮助!下面的代码:C循环打印两次字符串? (使用scanf(“%c”))
#include <stdio.h>
int main()
{
char check = 'a';
char int_check = 'a';
int b = 0;
printf("want to go in? [y or n]\n");
scanf("%c",&check);
if (check == 'y') {
while (1){
printf("Waiting: \n");
scanf("%c",&int_check);
if (int_check == 'q'){
printf("You're out, bye!\n");
break;
};
};
} else if (check == 'n'){
printf("You're not in, see ya!\n");
}else {
printf("Please, type 'y' or 'n'\n");
};
return 0;
}
这个......不应该编译。 – 2012-02-23 21:51:41
我不确定它是否是错误错误,但不应在花括号后面包含所有这些分号。 – 2012-02-23 21:52:32
@DanFego这很愚蠢(或者至少我觉得如此),但没关系。它被视为NOP声明IIRC。 – 2012-02-23 21:53:20