C语言——关于字符数组的问题

当使用gets函数的时候可以达到希望的效果,但是当把gets(string)改为scanf("%s",string)后,为什么结果是这样

如果希望使用scanf这个输入函数来达到上面的效果改怎么写呢,求详解

第1个回答  2014-09-13
1.scanf() 会忽略行开头的所有空格,并以空格、换行符结束输入;
2.gets读入以任何字符开始的字符串,以换行符结束,但之后会丢弃换行符并以'\0'代替;
第2个回答  2014-09-12
scanf("%s")匹配连续的一串非空白字符,遇到空格、tab或回车即结束匹配。追问

如果希望使用scanf这个输入函数来达到上面的效果改怎么写呢

追答

那试一下吧
scanf("%[^\n]", string);

本回答被提问者采纳
第3个回答  2014-09-12
scanf("%s",string) 空格和回车都会结束读取
gets() 回车为结束标志

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网