printf()函数名字中的f代表什么?
发布网友
发布时间:2022-10-11 01:53
我来回答
共5个回答
热心网友
时间:2023-10-10 11:12
确切地说,那“f”代表 “formatted”,因为那些函数在输入 / 输出的过程中进行格式化,所以结果都是已经被格式化了的(formatted)数据。
其实除了 C,还有七种语言有 printf( ) 或类似的函数 / 机制:
1)C++(当然啦)
2)Java(刚补上)
3)Python(通过“%”操作符)
4)PHP
5)Perl
6)Octave
7)Maple
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
非格式化输入 / 输出其实就是二进制格式的输入 / 输出。 典型的例子是结构(struct)的读 / 写和高效的文件拷贝。
C 的非格式化输入 / 输出很简单,因为就只有两个相对应的标准库函数提供这种便利: fread( ) 和 fwrite( )。
假设现有一个 byte,内容是 01000001(等于十进制 65)。
如果你用 fwrite( ) 把这个 byte 输出到一个(新的)文件里去,那么那个文件的内容将是 01000001,跟那个 byte 的内容一模一样。用文本编辑器打开文件来看的话,你会看到一个字符:‘A’,因为 65 是该字符的 ASCII 值。(没错,一般的文本编辑器只能以文本格式把文件的内容输出到显示屏上去。)
但如果你改用 fprintf( ) 以整数格式(%d)进行输出,那个文件的内容将会是两个 byte:00110110 和 00110101,即 ASCII 字符 ‘6’和‘5’,因为格式化输出的结果皆为文本。
日常生活中的例子:
你发现一个事实—— 某某想吐。
如果你不诠释(格式化)该现象(数据)而告诉别人(输出),你说的就是“某某想吐”。
反之,如果你诠释了再告诉别人,你说的可能就是“某某病了”、“某某晕船”、“某某怀孕了”等等。
参考资料:http://en.wikipedia.org/wiki/Printf http://publications.gbdirect.co.uk/c_book/chapter9/unformatted_io.html
热心网友
时间:2023-10-10 11:13
确切地说,那“f”代表 “formatted”,因为那些函数在输入 / 输出的过程中进行格式化,所以结果都是已经被格式化了的(formatted)数据。
其实除了 C,还有七种语言有 printf( ) 或类似的函数 / 机制:
1)C++(当然啦)
2)Java(刚补上)
3)Python(通过“%”操作符)
4)PHP
5)Perl
6)Octave
7)Maple
热心网友
时间:2023-10-10 11:13
我听说,在创造C的时候,缔造者正在研究“print”时,正在为输入输出结果如何正确显示时,不经意感叹了一声:“So difficult,* you……”,突然灵机一动,“Yeah,I like f,format.”后来,也就把“print”改为“printf”了。可见,“f”暗含format之意。
热心网友
时间:2023-10-10 11:14
printf称为格式化输出,scanf成为格式化输入。
f代表format的意思。
热心网友
时间:2023-10-10 11:14
f:format,代表按格式输出(或输入)