printf()
的第一个参数始终是一个字符串值,称为格式控制字符串。此字符串可以是规则的文本,如
printf("Hello, World\n"); // \n indicates a newline character
或
char greeting[] = "Hello, World\n";
printf(greeting);
此字符串也可含有一种或多种转换说明;这些转换说明符指示其他参数已传递给printf()
,并且它们指定如何格式化这些参数以进行输出。例如,我可以在上述切换到
char greeting[] = "Hello, World";
printf("%s\n", greeting);
的“%S”转换指定需要一个指向一个0结尾的字符串,并将其格式化为文本。
对于符号的十进制整数输出,使用“%d”或“%i”的转换说明,如
printf("%d\n", addNumber(a,b));
您可以用转换说明混合常规文本,就像这样:
printf("The result of addNumber(%d, %d) is %d\n", a, b, addNumber(a,b));
请注意,控制字符串中的转换说明符指示号码和类型的附加参数。如果传递给printf()
的附加参数的数量或类型与格式字符串中的转换说明符不匹配,则行为未定义。例如:
printf("The result of addNumber(%d, %d) is %d\n", addNumber(a,b));
将导致任何从乱码输出到彻底崩溃。
有许多用于控制字段宽度,精度,填充,对齐和类型的转换说明符的附加标志。查看您方便的C参考手册以获取完整列表。
您可能会发现http://www.cppreference.com/wiki/非常有帮助,请参阅标准C库的部分。 – 2010-01-29 15:06:21