【发布时间】:2015-05-24 01:32:41
【问题描述】:
有人知道这是怎么回事吗?
C 程序源码:
int main ()
{
float b[] = {1.143139e+27};
puts(b);
return 0;
}
输出:
Fell
为什么这个程序会显示“Fell”?
【问题讨论】:
-
浮点
1.143139e+27= 十六进制46656C6C= asciiFell -
使用实现定义的方面很可能导致未定义的行为......这个问题是无效的。
-
未定义的行为。没有人知道字符串在这 4 个字节之后何时停止
标签: c arrays floating-point return puts