C语言怎么控制printf函数输出

2024-12-16 14:49:06
推荐回答(2个)
回答1:

C语言控制printf函数输出是通过格式化参数来实现的。

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

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

“%d”表示按十进制整型输出;

“%ld”表示按十进制长整型输出;

“%c”表示按字符型输出等。

非格式字符串原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。

printf函数举例

#include

int main(void){

   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);

   return 0;

}

二、以下是对格式化字符串做一些说明

1) 类型
类型字符用以表示输出数据的类型,其格式符和意义如下表所示:

举例说明:

#include

int main(void){

   int a=15;

   long float b=123.1234567;

    // 原来b的定义为 float b=123.1234567;

    // 经读者@邓小良反馈,笔者发现会溢出,在前面加了long

   double c=12345678.1234567;

   char d='p';

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

   printf("a(%%d)=%d, a(%%5d)=%5d, a(%%o)=%o, a(%%x)=%x\n\n",a,a,a,a);  // %% 可以输出 %

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

   printf("b(%%f)=%f, b(%%lf)=%lf, b(%%5.4lf)=%5.4lf, b(%%e)=%e\n\n",b,b,b,b);

   printf("c=%f\n", c);

   printf("c(%%lf)=%lf, c(%%f)=%f, c(%%8.4lf)=%8.4lf\n\n",c,c,c);

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

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

   return 0;

运行结果:

回答2:

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。
printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。
格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
例如:
int a=1;
float b=1.0;
char str[12]="Hello World";
printf("This is an example of printf:\n");
printf("a is %d,b is %f,and a+b=%f",a,b,a+b);
printf("I want to say,%s",str);