不论printf函数的参数是一个还是多个,必须有一个含有字符串,即必须使用双引号。
printf()会根据参数format字符串来转换并格式化数据,并将结果输出到标准输出设备,直到字符串结束('\0')为止。所以字符串参数在printf函数中是必不可少的,如若不然,就会在出现运行时错误(不同于Java的自编译,C语言编译器不会文本保存时对编辑好的代码做语法检查)。正如以下代码所示:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, char *argv[])
{
printf(1);
system("pause");
return 0;
}
引发异常:
另外,format字符串可以包含下列三种字符类型:
- 普通文本,直接输出。
- ASCII控制字符。如\n(换行)、\t(水平制表符)、\r(将光标移至行首,会将本行原有字符覆盖)等。要注意C语言中,无需在字符串中嵌套单引号,直接使用转移符书写控制字符即可。
- 格式转换字符。由%和后面的格式字符所组成。要注意的是,每格式转换字符有需要一个printf()参数与之呼应,从而取出参数中变量的值,按照给出的格式转换后才能输出。