- 主题:这个程序的输出是多少
int a,b[5];
a=0; b[0]=3;
printf("%d,%d\n",b[0],b[1]);
为什么,谢谢
--
FROM 123.161.219.*
很奇怪,你编译一下输出一下
不是想象的结果
【 在 liuxueshen 的大作中提到: 】
: 3,?
: ?是啥取决于你的系统,包括操作系统和编译系统。
: 其实原题是不是int a,b[1]?
: ...................
--来自微微水木3.5.12
--
FROM 171.10.153.*
急需,麻烦您试一下,多谢!
【 在 liuxueshen 的大作中提到: 】
: 先去睡一觉,醒过来再看吧。
:
: 【 在 l234567890 的大作中提到: 】
: ...................
--来自微微水木3.5.12
--
FROM 171.10.153.*
多个平台运行结果是这个
【 在 liuxueshen 的大作中提到: 】
: 先去睡一觉,醒过来再看吧。
:
: 【 在 l234567890 的大作中提到: 】
: ...................
--来自微微水木3.5.12
--
FROM 171.10.153.*
但b[2]结果就不一样了
【 在 liuxueshen 的大作中提到: 】
: 先去睡一觉,醒过来再看吧。
:
: 【 在 l234567890 的大作中提到: 】
: ...................
--来自微微水木3.5.12
--
FROM 171.10.153.*
这个原因是什么呢?
这是一道题
【 在 plamancer 的大作中提到: 】
: 刚开始学就不要纠结这个了
: 记住一个原则:变量使用前要初始化
: 【 在 l234567890 的大作中提到: 】
: ...................
--来自微微水木3.5.12
--
FROM 218.29.119.*
按说是未知的,但是输出的是0,b[2]就不是了
所以很奇怪
【 在 ArchLinux 的大作中提到: 】
: 从语义上,未初始化的变量的值是无法得知的。
: 从实现上,局部变量通常放在一个称为栈的存储区上,而栈上原有的数据是未知的,从而未初始化变量的值是未知的。
: 这个原因是什么呢?
: ...................
--
FROM 171.11.245.*
gcc version 4.8.5 编译输出是3,0
vc6编译出来就是不定值
不过windows上装的codeblock使用的也是gcc编译出来的是不定值
难道是因为前面gcc4.8是在linux系统上的原因?
【 在 jimmycmh 的大作中提到: 】
: 有啥奇怪的,未知意味着可以是任何值
--
FROM 171.11.245.*
同样是gcc,为啥wun和linux下输出b[1]不一样呢,b[2]就是不定值了。
你看我在网上的那个在线编译的就是这种情况
【 在 dawei78 的大作中提到: 】
: 跟系统无关 最多是gcc填了一个0
: 【 在 l234567890 的大作中提到: 】
: : gcc version 4.8.5 编译输出是3,0
: ...................
--来自微微水木3.5.12
--
FROM 171.10.153.*
有关于这方面的说明吗
【 在 dawei78 的大作中提到: 】
: 对 就是gcc对不同平台的处理不同 再说你版本一样吗
: 发自「今日水木 on M2102K1AC」
--
FROM 1.192.38.*