位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 格式字符串

提问人:刘团圆发布时间:2020-11-28

格式字符串用来定义输入数据的格式,其形式与printf()的格式字符相似,也包含格式字符与普通字符两部分。

(1)格式字符

格式字符串以“%”引导,其形式为:

    %[*][width][F/N|h|1]type

各部分介绍如下:

①类型字符type

与scanf的规定相同,如%d代表要求输入十进制有符号整数等。具体见表所示。

类型字符

功能说明

di

以十进制有符号形式输入整数

U

以十进制无符号形式输入整数

o

以八进制无符号形式输入整数

X或乂

以十六进制无符号形式输入整数

f

以小教形式输入实数

C

输入单个字符

S

输入一个字符串

Ee; gG

f作用相同,可以eg替换f

例如:

scanf ("%c%d%f%lf",&c.&a.&x.&y);

要求输入一个字符、一个十进制有符号整数、一个单精度数据、一个双精度数据。

②宽度指示符width

宽度指示符width是一个十进制正整数的形式,表示该输入项最多可接收的字符个数,也就是说,读取输入数据中相应的n位,按需要的位数赋给相应的变量,多余部分被舍弃。但读取过程中如遇到空格、tab或其他不可转换的字符,输入个数可少于宽度指示。

    例如:

    int a,b,c;

    scanf("%2d%2d%3d",&a.&b.&c); 

    printf("a=%d,b=%d,c=%d\n",a,b,c);

程序执行时,若输入12345口67890,输出结果为:

    a=12,b=34»c=»5

    第一个输入项a的宽度指示符为2位,所以得到“12”;第二个输入项b的宽度指示符为2位,所以得到“34”;第三个输入项c的宽度指示符为3位,但当读取完“5 之后,遇到空格,空格认为数据输入结束,所以变量c只得到“5”。


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部