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”
。