今天同学弄了个题目,其中又要求判断字符串,发现有空格,于是想到了读取一行(最开始想到用fgets()不知道为什么不行,后面发现是可行的),百度找到了这个答案

char str[1024];
scanf("\%[\^\\n]" , str );

c语言的scanf函数可以使用%s来读取一个字符串,但是遇到空格就不会读取后面的内容了。如果需要读取一整行的字符肯定就有问题了。
经过一阵google找到了解决方法,记录下。
就是在scanf中使用%[ ]参数。这个参数的作用就是读取一个字符集合。中括号里面输入读取的字符集合。比如%[a-z]读取a到z的字符集合。要读取一行只要,
只要设置为读取非换行符就可以了既。
-----取自http://www.cnblogs.com/leviathan517/p/5

最后修改:2019 年 03 月 03 日 09 : 29 PM
如果觉得我的文章对你有用,请随意赞赏