C语言的scanf()函数问题...

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:30:58
#include"stdio.h"
main()
{
char a,b,c;
scanf("%3c,%2c,%c",&a,&b,&c);
/*此处3,2,1分别表示什么意思,请例举结果*/
printf("a=%c,b=%c,c=%c",a,b,c);
getch();
}

%3c指定字数宽度,
scanf("%3c",&a);输入占3列,前两列补空格

这个意思就是说该字符所占的宽度,不过,好像出现在scanf 中的比较少,而在输出printf中比较常见的!

指定域宽..

一、printf函数调用的一般形式

printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为: printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。 格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%c”表示按字符型输出等。后面将专门给予讨论。

非格式字符串在输出时原样照印,在显示中起提示作用。 输出表列中给出了各个输出项, 要求格式字符串和各输出项在数量和类型上应该一一对应。
void main()
{
int a=88,b=89;
printf("%d %d\n",a,b);
printf("%d,%d\n",a,b);
printf("%c,%c\n",a,b);
printf("a=%d,b=%d",a,b);
}
a<--8,b<--89

printf("%d %d\n",a,b);
printf("%d,%d\n",a,b);
printf("%c,%c\n",a,b);
printf("a=%d,b=%d",a,b);
本例中四次输出了a,b的值,但由于格式控制串不同,输出的结果也不相同。第四行的输出语句格式控制串中,两格式串%d 之间加了一个空格(非