当使用gets函数的时候可以达到希望的效果,但是当把gets(string)改为scanf("%s",string)后,为什么结果是这样
如果希望使用scanf这个输入函数来达到上面的效果改怎么写呢,求详解
第1个回答 2014-09-13
1.scanf() 会忽略行开头的所有空格,并以空格、换行符结束输入;
2.gets读入以任何字符开始的字符串,以换行符结束,但之后会丢弃换行符并以'\0'代替;
2.gets读入以任何字符开始的字符串,以换行符结束,但之后会丢弃换行符并以'\0'代替;
第2个回答 2014-09-12
scanf("%s")匹配连续的一串非空白字符,遇到空格、tab或回车即结束匹配。追问
如果希望使用scanf这个输入函数来达到上面的效果改怎么写呢
追答那试一下吧
scanf("%[^\n]", string);
第3个回答 2014-09-12
scanf("%s",string) 空格和回车都会结束读取
gets() 回车为结束标志
gets() 回车为结束标志