C语言中 gets 函数输入字符串,不能放在循环中 重复输入是怎么回事,程序如下
#include<stdio.h>#include<string.h>intmain(){charstr[5];while(1){printf("[gets]str=")...
#include<stdio.h>
#include<string.h>
int main()
{
char str[5];
while(1)
{
printf("[gets]str=");
gets(str);
printf("gets:str:%s,length:%d\n",str,strlen(str));
printf("scanf,str=");
scanf("%s",str);
printf("scanf:str=%s\n",str,strlen(str));
if(str[0]=='f') break;
}
return 0;
}
结果:
[gets]str=asqwerq
gets:str:asqwerq,length:7
scanf,str=tyujrtyr
scanf:str=tyujrtyr
[gets]str=gets:str:,length:0
scanf,str=ertyert
scanf:str=ertyert
[gets]str=gets:str:,length:0
scanf,str=gyutyuk
scanf:str=gyutyuk
[gets]str=gets:str:,length:0
scanf,str=f
scanf:str=f
gets 输入第一次以后,就自动变成空了,不能输入了,但是scanf 还能输入,这是怎么回事 展开
#include<string.h>
int main()
{
char str[5];
while(1)
{
printf("[gets]str=");
gets(str);
printf("gets:str:%s,length:%d\n",str,strlen(str));
printf("scanf,str=");
scanf("%s",str);
printf("scanf:str=%s\n",str,strlen(str));
if(str[0]=='f') break;
}
return 0;
}
结果:
[gets]str=asqwerq
gets:str:asqwerq,length:7
scanf,str=tyujrtyr
scanf:str=tyujrtyr
[gets]str=gets:str:,length:0
scanf,str=ertyert
scanf:str=ertyert
[gets]str=gets:str:,length:0
scanf,str=gyutyuk
scanf:str=gyutyuk
[gets]str=gets:str:,length:0
scanf,str=f
scanf:str=f
gets 输入第一次以后,就自动变成空了,不能输入了,但是scanf 还能输入,这是怎么回事 展开
3个回答
展开全部
#include<stdio.h>
#include<string.h>
int main()
{
char str[5];
while(1)
{
printf("[gets]str=");
gets(str);
printf("gets:str:%s,length:%d\n",str,strlen(str));
printf("scanf,str=");
scanf("%s",str);
getchar();
printf("scanf:str=%s\n",str,strlen(str));
if(str[0]=='f') break;
}
return 0;
}
scanf输入后那个回车被gets(str)接收了,所以下次遇到gets就不再等待你输入,可以用getchar()把scanf输入后的回车接收就好了。 我运行过的,给最佳答案哦!
#include<string.h>
int main()
{
char str[5];
while(1)
{
printf("[gets]str=");
gets(str);
printf("gets:str:%s,length:%d\n",str,strlen(str));
printf("scanf,str=");
scanf("%s",str);
getchar();
printf("scanf:str=%s\n",str,strlen(str));
if(str[0]=='f') break;
}
return 0;
}
scanf输入后那个回车被gets(str)接收了,所以下次遇到gets就不再等待你输入,可以用getchar()把scanf输入后的回车接收就好了。 我运行过的,给最佳答案哦!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询