【发布时间】:2013-08-27 07:08:33
【问题描述】:
我无法理解以下 C 程序的输出,有什么想法吗?
#include<stdio.h>
#include<conio.h>
void main()
{
int a=5,b=6,c=11;
clrscr();
printf("%d %d %d");
getch();
}
这个程序的输出是:
11 6 5
我不明白为什么上面的程序在 printf 中给了我们反向变量值我从未声明必须打印哪个值...所以有没有理论认为如果我们没有声明必须打印哪个变量然后我们得到反向值我们上面在数据类型中声明的变量...
【问题讨论】:
-
对我来说看起来像是未定义的行为,换句话说,它打印的东西甚至是远程相关的纯属运气。
-
这是未定义的行为,我确信某处有重复。
-
用另一个编译器试试同样的结果,你会得到随机结果(例如clang或gcc)
标签: c