我一直在研究scanf()-将光标移到下一行,因此很好奇fgets是否执行相同的操作,但是我得到的输出对我来说没有意义。请帮助我了解它
代码 -
main()
{
char name[30] , name2[20];
scanf("%s" , name) ;
printf("%s" , name) ;
fgets(name2 , 30 , stdin) ;
printf("%s" , name2) ;
return 0 ;
}
输出-在此处输入图像描述
在第一行中,我输入的是Premier,它在第二行中提供了Premier的输出,但第二次不要求我输入,请说明fgets()是否还将光标移至第二行
感谢帮助!!!
第一个scanf
不消耗行尾,只消耗一个字符串;因此调用fgets
读取一个空行。
切勿混搭scanf
,fgets
否则会有问题。scanf
是格式化输入,而fgets
仅仅是原始输入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句