fgets()/scanf()执行while循环

fgets()/scanf()执行while循环,c,scanf,fgets,C,Scanf,Fgets,与: 同样的问题。试试这个 scanf("%10s", strA); 试试这个 scanf("%10s", strA); 试试这个 scanf("%10s", strA); 试试这个 scanf("%10s", strA); 独立于您的问题,它应该是scanf(“%9s”,strA)。C-“字符串”总是需要最后一个字符来存储'\0',即0-终止符。@alk:Ok。我们昨天讨论过这个问题,但人们似乎反对使用scanf。不fgets(strA,9,stdin)工作,还是你真的更喜欢scanf

与:

同样的问题。

试试这个

scanf("%10s", strA);
试试这个

scanf("%10s", strA);
试试这个

scanf("%10s", strA);
试试这个

scanf("%10s", strA);


独立于您的问题,它应该是
scanf(“%9s”,strA)。C-“字符串”总是需要最后一个
字符来存储
'\0'
,即
0
-终止符。@alk:Ok。我们昨天讨论过这个问题,但人们似乎反对使用scanf。不
fgets(strA,9,stdin)工作,还是你真的更喜欢
scanf()
?不,不,我更喜欢
fgets()
进行人工输入。后者也取缓冲区的确切大小,在本例中为10。@alk:我明白你指的是什么了。。。感谢您的反馈。与您的问题无关,它应该是
scanf(“%9s”,strA)。C-“字符串”总是需要最后一个
字符来存储
'\0'
,即
0
-终止符。@alk:Ok。我们昨天讨论过这个问题,但人们似乎反对使用scanf。不
fgets(strA,9,stdin)工作,还是你真的更喜欢
scanf()
?不,不,我更喜欢
fgets()
进行人工输入。后者也取缓冲区的确切大小,在本例中为10。@alk:我明白你指的是什么了。。。感谢您的反馈。与您的问题无关,它应该是
scanf(“%9s”,strA)。C-“字符串”总是需要最后一个
字符来存储
'\0'
,即
0
-终止符。@alk:Ok。我们昨天讨论过这个问题,但人们似乎反对使用scanf。不
fgets(strA,9,stdin)工作,还是你真的更喜欢
scanf()
?不,不,我更喜欢
fgets()
进行人工输入。后者也取缓冲区的确切大小,在本例中为10。@alk:我明白你指的是什么了。。。感谢您的反馈。与您的问题无关,它应该是
scanf(“%9s”,strA)。C-“字符串”总是需要最后一个
字符来存储
'\0'
,即
0
-终止符。@alk:Ok。我们昨天讨论过这个问题,但人们似乎反对使用scanf。不
fgets(strA,9,stdin)工作,还是你真的更喜欢
scanf()
?不,不,我更喜欢
fgets()
进行人工输入。后者也取缓冲区的确切大小,在本例中为10。@alk:我明白你指的是什么了。。。谢谢你的反馈。我想可能是这样的,我需要吸收更多的角色。但是我不知道怎么做。谢谢第一个
while(getchar()!='\n'),额外的位用于什么?您可以使用其中一个。但是后者是首选。@alk:是的,我必须在if语句中((c=getchar())!='\n'&&c!=EOF)
时隐藏
。例如,在windows上,新行可以是两个字符
“\r\n”
。我想可能是这样的,我需要吸收额外的字符。但是我不知道怎么做。谢谢第一个
while(getchar()!='\n'),额外的位用于什么?您可以使用其中一个。但是后者是首选。@alk:是的,我必须在if语句中((c=getchar())!='\n'&&c!=EOF)
时隐藏
。例如,在windows上,新行可以是两个字符
“\r\n”
。我想可能是这样的,我需要吸收额外的字符。但是我不知道怎么做。谢谢第一个
while(getchar()!='\n'),额外的位用于什么?您可以使用其中一个。但是后者是首选。@alk:是的,我必须在if语句中((c=getchar())!='\n'&&c!=EOF)
时隐藏
。例如,在windows上,新行可以是两个字符
“\r\n”
。我想可能是这样的,我需要吸收额外的字符。但是我不知道怎么做。谢谢第一个
while(getchar()!='\n'),额外的位用于什么?您可以使用其中一个。但是后者是首选。@alk:是的,我必须在if语句中((c=getchar())!='\n'&&c!=EOF)
时隐藏
。例如,在windows上,新行可以是两个字符
“\r\n”