我正在检查 C 代码的一些输出。代码是:
main()
{
struct temp
{
int a;
float b;
}t;
t.a = 5;
t.b = 2.0;
printf( "%d %d %f" , t, t.a ,t.b); // printing 5 0 0.0000000 ...why??
printf( "%d %f %d" , t.a, t.b ,t); // printing 5 2.000000 5
}
这个程序的输出是什么?“t”将打印什么?如果为此未定义行为,那么在某些 C 标准中是否给出了该行为将未定义。