我目前在1.5.1文件复制中,并制作了一个类似的程序:
#include <stdio.h>
/* copy input to output; 1st version */
main()
{
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我像这样运行它:
PS <..loc..> cc copy-0.c
PS ./a
Black
Black
White
White
Gray
Gray
Run Code Online (Sandbox Code Playgroud)
输出是我输入的.
这是我为实验目的而制作的一个程序:
#include <stdio.h>
/* copy input to output; 1st version */
main()
{
int c;
c = getchar();
while (c != EOF) {
printf("%c",c);
c = getchar();
}
}
Run Code Online (Sandbox Code Playgroud)
它产生相同的结果但是putchar和之间存在差异printf吗?
两者之间哪个更好用?
kir*_*sos 20
printf是一个通用打印功能,可以使用100种不同的格式说明符,并打印正确的结果字符串.putchar好吧,把一个角色放到屏幕上.这也意味着它可能要快得多.
回到问题:用于putchar打印单个字符.再说一次,它可能要快得多.
小智 5
我使用带有-S的printf("a")编译了一个示例,并在汇编代码中调用了putchar.看起来当printf中只有一个char时,编译器会将其转换为putchar().我用printf("ab")做了另一个例子,并调用了printf,并在%edi寄存器中显示了文本部分.