【发布时间】:2017-02-27 19:21:31
【问题描述】:
这段代码的输出如何是“成功”?当我编译这段代码时,它只是输出“成功”
#include <stdio.h>
int main(void) {
printf("%m");
return 0;
}
【问题讨论】:
标签: c
这段代码的输出如何是“成功”?当我编译这段代码时,它只是输出“成功”
#include <stdio.h>
int main(void) {
printf("%m");
return 0;
}
【问题讨论】:
标签: c
这是printf 的 Glibc 扩展。它输出strerror(errno) 的结果,不需要参数。
来自man page:
m (Glibc extension.) Print output of strerror(errno). No argu-
ment is required.
由于errno 在启动时从 0 开始,它会打印错误代码 0 的消息,即Success。
【讨论】: