关于scanf()输入

#include <stdio.h>
int main ()
{
	int i;
	unsigned int j;
	char s[5];
	scanf("%d %x %5[a-z] %*s %f",&i,&j,s,s);
	printf("%d %d %s\n",i,j,s);
	return 0;
}


解释如下:
%5[a-z]   ==> %[123]等同于%[231],等同于%[321]……,列表中的顺序是无所谓的;
%[123]也等同于%[1-3]或%[3-1],也就是“1至3”,对于连续的字符列表这样写就很简单,比如%[a-z]等同%[abc…省略…z];5是选取的长度;

%*s ==> %后的“*”附加说明符,用来表示跳过它相应的数据。例如:
scanf(“%2d%*3d%2d”,&a,&b);
如果输入如下信息:1234567。将12赋给a,67赋给b。第二个数据”345”被跳过不赋给任何变量。
其他三个就是变量的格式

posted on 2012-05-15 01:29  矮人狙击手!  阅读(126)  评论(0编辑  收藏  举报

导航