c语⾔输⼊中的空格与换⾏问题
⼀、getchar()的⽤法
1.从缓冲区读⾛⼀个字符,相当于清除缓冲区。
2.前⾯的scanf()在读取输⼊时会在缓冲区中留下⼀个字符’\n’(输⼊完s[i]的值后按回车键所致),所以如果不在此加⼀个getchar()把这个回车符取⾛的话,gets()就不会等待从键盘键⼊字符,⽽是会直接取⾛这个“⽆⽤的”回车符,从⽽导致读取有误。
c语言char的用法
例如:
这⾥就是取⾛回车字符。
⼆、空格问题
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()函数是以回车为结束符的输⼊函数,可以输⼊带空格的字符串。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论