1.输入的空白字符在进行数据转换时一般会被忽略。 2.以“*”开头的控制符表示对应位置上的输入数据将被忽略。这意味着,这个数据不会被保存,因此不需要使用一个变量来接收它。 3.使用%s控制符来扫描字符串时要小心,它会跳过起始的空白字符,在字符串里出现的第一个空白字符处停下来,所以最好用它来读取单词而不是一般意义上的字符串。此外,如果没有使用字段宽度限定符,它能够读取的字符串的长度是没有限制的,所以接收字符串必须有足够的空间来容纳输入流中可能的最长字符串。较好的选择是使用一个字段限定符,或者结合使用fgets和sscanf从输入读入一行数据,再对它进行扫描。这样可以避免可能被恶意用户利用的缓冲区溢出。 4.使用%[]控制符读取由一个字符集合中的字符构成的字符串。格式字符串%[A-Z]将读取一个由大写字母构成的字符串。如果字符串中第一个字符是,就表示将读取一个由不属于该字符集合中的字符构成的字符串。因此,读取一个其中带空格的字符串,并且在遇到第一个逗号时停止,可以用%[,]。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。