为什么不同的C编译器可以为C程序提供不同的输出?

raa*_*one 2 c compiler-construction

我怀疑为什么不同的编译器会给同一个C程序提供不同的输出.如果有一个标准的C,那么为什么这些着名的编译器不会完全使用它.输出的差异是由16位32位编译器引起的,那么所有那些产生差异的问题是什么呢.

Kei*_*son 10

你有一个例子吗?

语言是标准化的,但它的很多方面都是实现定义的,甚至是未定义的.

例如,这个:

printf("sizeof (int) = %u\n", (unsigned)sizeof (int));
Run Code Online (Sandbox Code Playgroud)

将在不同的系统上打印不同的数字,具体取决于有多大int.