【发布时间】:2015-07-22 10:55:09
【问题描述】:
编译器不会将其标记为任何错误。
- 我知道错了,
-
但我想知道为什么显示公司名称。
- 如果我输入任何小于 4 的值,它不会显示此消息,
- 它为不同的此类值提供不同的输出,尝试一些 50、100 等值。
为什么会显示如此奇怪的输出。
这是程序。
void main()
{
int a=6;
printf("%s",a);
}
【问题讨论】:
-
你为什么用s标签?
-
这是 UB。不要试图理解它。根据定义,它可以做任何事情,包括按预期工作。
-
如果你不忽略警告,那么你很容易看出它是不对的。
-
[轻点]
printing int in c by %s in printf--- 用霰弹枪射击你的脚,你会得到和之前一样的效果。 :-) -
请不要有不可读的屏幕拷贝。以文本形式发布您的源代码和输出。