【发布时间】:2018-06-06 08:27:17
【问题描述】:
#include<stdio.h>
int main() {
int j=65;
printf("j>=65?%d:%c\n",j);
return 0;
}
好的,理解为代替 %d ,将打印 j 的值,但是为什么 %c 被 ö 替换,我无法理解该程序的输出,请解释 printf 语句。
【问题讨论】:
-
%c 用于在 C 中打印一个字符。查看以下链接以了解如何格式化输出:codingunit.com/…
-
BTW 您的程序完全错误。 充满了undefined behavior 以及编译时间和运行时间之间的混淆。 非常scared。请记住,遗憾的是,C 不是 homoiconic
-
两个格式说明符,但只有一个参数。
-
从标准 fprintf 函数将输出写入 stream 指向的流,在 format 指向的字符串的控制下,指定后续参数如何转换为输出。 如果格式的参数不足,则行为未定义。
-
在提问之前考虑阅读教程。这些信息不难找到。
标签: c printf output conditional-operator format-specifiers