含空格的字符串的输入
在做1209的时候需要带空格的输入字符串,但是scanf会以空格结束输入,这个很不方便,查了点资料后发现gets函数可以实现带空格的输入因为gets是以回车结束的。
gets()函数的原型:char * gets(char *str)
函数功能:从标准输入流读取字符串并回显,读到回车符时退出
但是同时有人说不推荐使用gets()函数。因为它有个能致命的缺陷,就是不能指定缓冲区,当输入的字符大于缓冲区写入的空间,会使缓冲区溢出,这将有可能会导致不可预料的错误,这种错误可能是非常严重的。
还看到一种scanf的用法,我很是喜欢,虽然不是很懂原理但是还是先记下了
1 | scanf("%[^n]",str); |
1 |
|
记录下,以后一定会有用的!