scanf函数可以输入空白符

您所在的位置:网站首页 scanf输入字符串遇到空格会怎么样 scanf函数可以输入空白符

scanf函数可以输入空白符

2024-07-16 03:16| 来源: 网络整理| 查看: 265

    首先,问大家个问题:“C中scanf函数能否输入空格?”    可能很多人会白眼:“废话!C只能用gets,fgets函数获得空白符啊!”    确实,在scanf函数中,可以使用 %c 来读取一个字符,使用 %s 读取一个字符串,但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字串,因此一般使用fgets来读取一个字符串。    之前我负,也这样认为的,其实不然,scanf函数也可以哦。而且还更强大。    下面说一下如何用scanf获得空格等空白符。这里主要介绍一个参数:%[]。这个参数的意义是读入一个字符集合。[]是个集合的标志,因此%[]特指读入此集合所限定的那些字符, 比如 %[A-Z] 是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是'^', 这说明读取不在'^'后面集合的字符,即遇到'^'后面集合的字符便停止。而此时读入的字符串是可以含有空格的。

#include  int main() {    char a[20];    scanf("%[^\n]", a);    printf("%s\n", a);    return 0; }

    上面的程序就能输入包括空格在内的字符串。[^\n]表示遇到换行符停止。

    PS:其他的scanf函数方面的问题,亲们自己查吧。用了很久的C,现在才知道scanf也能输入空格的,一切都需要自己探索。

    共进!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3