【发布时间】:2014-11-30 06:06:02
【问题描述】:
谁能解释一下输出是什么以及如何输出?我无法理解 printf() 函数参数。我想知道两者的区别
1 和 2,以及 3 和 4 printf() 语句。通常在printf() 中,我们应该将控制字符串作为第一个参数。但是即使交换参数,我会得到相同的输出吗?
#include <stdio.h>
int main()
{
char *str;
str = "%s";
printf("%s\n", str); //.....1
printf(str, "%s\n"); //.......2
printf(str, "K\n"); //.......3
printf("K\n", str); //........4
return 0;
}
【问题讨论】:
-
printf()的第一个参数是一个字符串——它可能是(而且经常是)字符串文字,但不一定是。第一个参数控制来自printf()的输出;其他人可能会改变输出。前两个输出%s和一个换行符;第三个和第四个都输出K和一个换行符。请注意,第四个不需要str参数。您应该能够通过运行代码并仔细考虑printf()函数看到的内容来看到这一点。
标签: c string function escaping printf