 
										
					
	
风中追风——潇洒的真谛!
又一好帖子,我加点料下去,仅供娱乐:
scanf()中使用%n可以得到已经获得的字符个数。使用如下: 
#include<stdio.h> 
int             main(void) 
{ 
                char strings[100]; 
                int num; 
                scanf("%s%n",strings,&num); 
                printf("上面已经获得%d字符",num); 
                return  0; 
} 
注意:要区别于scanf()的返回值(成功获得的数据个数)。 
3. 仅当scanf()用于字符串时的技巧------扫描集格式。通过下面的程序进行说明: 
#include<stdio.h> 
int             main(void) 
{ 
                char strings[100]; 
                scanf("%[1234567890]",strings); 
                printf("%s",strings); 
                return  0; 
} 
运行,输入:1234fjerkfj后,结果是:1234。作用是:如果输入的字符属于方括号内字符串中某个字符,那么就提 
取该字符;如果一经发现不属于就结束提取。该方法会自动加上一个字符串结束符到已经 
提取的字符后面。 
如果要进行上述作用的逆命题,可以该为scanf("%[^1234567890]",strings); 它的作用是 :如果一经发现输入的字符属于方括号内字符串中某个字符,那么就结束提取;如果不属 于就提取该字符。该方法会自动加上一个字符串结束符到已经提取的字符后面。 
注意:方括号两边不能空格,如:scanf("%[ 1234567890 ]",strings); scanf("%[ ^123 
4567890 ]",strings)