C printf中f的含义是什么?

C printf中f的含义是什么?,c,C,在C的printf中,“f”是什么意思 printf中的f代表格式化,用于打印格式化输出。printf允许格式化,而打印不允许格式化。另外,C语言中不存在print。我甚至不知道printg是什么。如果我没有弄错的话,printf代表“将格式化数据打印到标准输出” 如其他人所述,尾随的f表示格式化输出(或scanf系列中函数的格式化输入) 但是,我要补充一点,区别很重要,因为调用方必须知道字符串应该具有格式说明符语义。例如,不要这样做: char* s = get_some_user_input

在C的printf中,“f”是什么意思

printf中的
f
代表格式化,用于打印格式化输出。

printf允许格式化,而打印不允许格式化。另外,C语言中不存在print。我甚至不知道printg是什么。

如果我没有弄错的话,printf代表“将格式化数据打印到标准输出”

如其他人所述,尾随的
f
表示格式化输出(或
scanf
系列中函数的格式化输入)

但是,我要补充一点,区别很重要,因为调用方必须知道字符串应该具有格式说明符语义。例如,不要这样做:

char* s = get_some_user_input();
printf(s); // WRONG.  Instead use: printf("%s", s) or fputs(stdout, s)

如果
s
恰好包含
%
字符,直接使用
printf
打印它可能会导致它访问不存在的参数,从而导致未定义的行为(这是某些安全漏洞的原因)。如果您曾经定义自己的
printf
-类似于可变函数,请记住此命名约定。

谢谢。。。所以,如果我只写print,它会工作吗…@Sharan Chandran:C标准库中没有
print
函数。@SharanChandran非格式化的版本叫做
put
。我刚开始学习C编程。。。如果这个问题很傻,我道歉……这个问题有什么含糊不清的地方?这怎么不合理呢?当然有合理的答案。(同样有趣的是,尽管有公认的答案,K-ballo还是其中一个结束了这个问题的人。)这是一个真实的问题,但可以很快用谷歌搜索(和许多其他问题一样):因此它是重复的,所以我投票结束,但原因不同。谷歌能力不应该是结束一个问题的基础。谷歌索引溢出;因此,SO上的所有问题和答案都可以在谷歌上进行隐式搜索。只要你不使用
fprintf
进行其他指定,“打印格式”-
stdout
就是理所当然的。我也不知道
print
是什么……是的,我只记得它也不存在:)我很久没有用c语言编写代码了