码迷,mamicode.com
首页 > 编程语言 > 详细

c语言输入中的空格与换行问题

时间:2020-03-14 14:38:51      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:inf   用法   函数   %s   mamicode   带空格的字符串   换行   world   tchar   

一、getchar()的用法

       1.从缓冲区读走一个字符,相当于清除缓冲区。

       2.前面的scanf()在读取输入时会在缓冲区中留下一个字符’\n’(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误。

       3.getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab)。

      例如:

    技术图片技术图片技术图片

      这里就是取走回车字符。

二、空格问题

        c语言中输出字符串的函数有printf("%s") puts() fputs()等,字符串中可以是任意的字符,包括空格在内,无特殊处理,            char str[]="hello world" ;printf("%s\n", str );puts(str);fputs(str,stdin);

但在输入带有空格的字符串时,只能用gets()或fgets(),而不能用scanf("%s") ,因为scanf("%s")输入字符串时,遇到空格就结束了输入。而gets()函数是以回车为结束符的输入函数,可以输入带空格的字符串。

    

c语言输入中的空格与换行问题

标签:inf   用法   函数   %s   mamicode   带空格的字符串   换行   world   tchar   

原文地址:https://www.cnblogs.com/Zhuohome/p/12491917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!