C的printf中的“f”是什么意思?
问问题
3920 次
4 回答
24
f
inprintf
代表formatted,它用于带格式化输出的打印。
于 2012-05-25T21:43:27.253 回答
3
正如其他人所指出的,尾随 f
表示格式化输出(或系列中函数的格式化输入scanf
)。
但是,我要补充一点,区别很重要,因为调用者知道字符串应该具有格式说明符语义很重要。例如,不要这样做:
char* s = get_some_user_input();
printf(s); // WRONG. Instead use: printf("%s", s) or fputs(stdout, s)
如果s
碰巧包含%
字符,直接打印它printf
会导致它访问不存在的参数,从而导致未定义的行为(这是一些安全漏洞的原因)。printf
如果您曾经定义自己的 -like 可变参数函数,请记住此命名约定。
于 2012-05-25T23:59:08.033 回答
0
printf 允许格式化,而 print 不允许。此外,C 中不存在 print。我什至不知道 printg 是什么。
于 2012-05-25T21:43:35.287 回答
0
如果我没记错的话,printf 代表“将格式化数据打印到标准输出”。
于 2012-05-25T21:44:28.690 回答