日历

2008 8.20 Wed
     12
3456789
10111213141516
17181920212223
24252627282930
31      
«» 2008 - 8 «»

文章搜索

日志文章

2007年11月04日 12:29:32

c 语言里的‘[ ]’,少见有用的输入方式

scanf中一种很少见但很有用的转换字符:[...]和[ ^...]。
#include<stdio.h>
main()
{
char strings[100];
iG ?/[6S/m1bc0scanf("%[1234567890]",strings);
printf("%s",strings);
return 0;
}
运行,输入:1234werew后,结果是:1234。
通过运行可以发现它的作用是:如果输入的字符属于方括号内字符串中某个字符,那么就提取该字符;如果一经发现不属于就结束提取。该方法会自动加上一个字符串结束符到已经提取的字符后面。
scanf("%[^1234567890]",strings); 它的作用是:如果一经发现输入的字符属于方括号内字符串中某个字符,那么就结束提取;如果不属于就提取该字符。该方法会自动加上一个字符串结束符到已经提取的字符后面。
注意:方括号两边不能空格,如:scanf("%[ 1234567890 ]",strings); scanf("%[ ^1234567890]",strings); 不让空格也会算在里面的。
用这种方法还可以解决scanf的输入中不能有空格的问题。只要用
scanf("%[^\n]",strings); 就可以了。

类别: 程序设计 |  评论(1) |  浏览(1272) |  收藏
一共有 1 条评论
1楼 三笑数码科技--电脑扩展主机Ne.. 2007年11月08日 08:58:09 Says:
哈哈,来看看.
发表评论