scanf与空格的问题
#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
#include<time.h>
void main(){
int guess,number,count;
char yes='Y';
while(toupper(yes)=='Y'){
srand(time(0));
number=rand()%100;
count=0;
do{
do{
printf("\n input the number you guess between 1 and 100 \n");
scanf("%d",&guess);
}while(!(guess>=1&&guess<=100));
if(guess<number){
printf("the number you guess is lower than the random number");
count++;
}
if(guess>number){
printf("the number you guess is bigger than the random number");
count++;
}
if(count==15){
printf("you have no chance,try again");
exit(0);
}
}while(guess!=number);
if(count<=7){
printf("good job");
printf("\n %d\n",count);
}
else{
printf("\n you have pass this game");
printf("\n %d",count);
}
printf("\n NEXT?(Y/N): ");
scanf(" %c",&yes); }
}
对于红线部分,也就是最后一句,我很不明白为什么要在%c前面加一个空格,望高手指点,谢谢
#include<ctype.h>
#include<stdlib.h>
#include<time.h>
void main(){
int guess,number,count;
char yes='Y';
while(toupper(yes)=='Y'){
srand(time(0));
number=rand()%100;
count=0;
do{
do{
printf("\n input the number you guess between 1 and 100 \n");
scanf("%d",&guess);
}while(!(guess>=1&&guess<=100));
if(guess<number){
printf("the number you guess is lower than the random number");
count++;
}
if(guess>number){
printf("the number you guess is bigger than the random number");
count++;
}
if(count==15){
printf("you have no chance,try again");
exit(0);
}
}while(guess!=number);
if(count<=7){
printf("good job");
printf("\n %d\n",count);
}
else{
printf("\n you have pass this game");
printf("\n %d",count);
}
printf("\n NEXT?(Y/N): ");
scanf(" %c",&yes); }
}
对于红线部分,也就是最后一句,我很不明白为什么要在%c前面加一个空格,望高手指点,谢谢
...全文
相关推荐
SCANF和GETCHAR的区别,GETCHAR的妙用
今天再看getchar()函数,发现与scanf函数的知识混淆了,查找资料得出下面信息。
C语言中scanf函数使用时的常见问题.pdf
C语言中scanf函数使用时的常见问题.pdf
scanf(), getchar(), 以及gets()函数注意点
对函数scanf()、getchar()、gets()的异同进行深入剖析
C语言scanf函数应用问题.doc
C语言scanf函数应用问题.doc
C语言scanf函数详解[代码]
本文详细介绍了C语言中的scanf函数,包括其基本用法、格式说明符、返回值以及常见问题的处理方法。文章首先解释了scanf函数的基本概念和原型,强调了其作为格式输入函数的重要性。接着,详细说明了空白字符和非空白字符在scanf函数中的作用,以及如何正确使用格式说明符。此外,文章还列举了使用scanf函数时的注意事项,如在高版本Visual Studio中使用scanf_s替代scanf、字符串数组的处理、精度控制的限制等。最后,针对常见问题如空格字符串输入、键盘缓冲区残余信息和输入类型不匹配等,提供了具体的解决方案和实例演示。


