设为首页 加入收藏

TOP

一种scanf
2016-12-31 08:14:42 来源: 作者: 【 】 浏览:46
Tags:一种 scanf

scanf中一种很少见但很有用的转换字符:[...]和[ ^...]。

#include < stdio.h >
main() {
    char strings[100];
    scanf("%[1234567890]", strings);
    printf("%s", strings);
    return 0;
}

运行,输入:1234werew后,结果是:1234。

通过运行可以发现它的作用是:如果输入的字符属于方括号内字符串中某个字符,那么就提取该字符;如果一经发现不属于就结束提取。该方法会自动加上一个字符串结束符到已经提取的字符后面。

scanf("%[^1234567890]",strings); 它的作用是:如果一经发现输入的字符属于方括号内字符串中某个字符,那么就结束提取;如果不属于就提取该字符。该方法会自动加上一个字符串结束符到已经提取的字符后面。

注意:方括号两边不能空格,如:scanf("%[ 1234567890 ]",strings); scanf("%[ ^1234567890]",strings); 不让空格也会算在里面的。

用这种方法还可以解决scanf的输入中不能有空格的问题。只要用scanf("%[^\n]",strings); 就可以了。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇#pragma omp threadprivate(alpha) 下一篇请教关于总线错误(Bus error) 和 ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目