为啥这个程序可以得出这样的结果
#include<stdio.h>#define num 50
int main()
{
int i;
int a;
for (i = 0;i < 50;i++)
{
printf("%d\n",a);
}
return 0;
}
凭运气,比如我的运行结果是:0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
C:\Users\www\source\repos\Project\x64\Release\Project.exe (进程 5900)已退出,代码为 0。
按任意键关闭此窗口. . .
本帖最后由 jackz007 于 2020-12-4 22:20 编辑
int i , a ;
数组 a 和变量 i 属于相邻变量,当通过 a 访问数组元素的时候,显然已经下标越界了,实际访问到的是后续相邻变量的内容,通过程序的行为不难推测,这个相邻的变量正是 i;要想证实这一点很容易,只要把 a 和 i 两个变量的定义顺序改一下,或者,在两个变量的定义之间,再插入若干个其它变量,然后再观察打印输出结果,应该不难得出结论。
我这里打印输出和楼主一样,说明我们所使用的编译器相同,楼上打印的是全 0 值,应该和我们所用编译器不同,不过,我想,如果把两个变量的定义顺序颠倒一下,楼上也应该可以得到一样的结果。 永恒的蓝色梦想 发表于 2020-12-4 22:03
凭运气,比如我的运行结果是:
我每次都是一样的啊,关了机重试也一样{:5_107:} 本帖最后由 风过无痕1989 于 2020-12-4 22:31 编辑
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
-858993460
jackz007 发表于 2020-12-4 22:13
int i , a ;
数组 a 和变量 i 属于相邻变量,当通过 a 访问数组元素的时候,显然已经 ...
说的在理。不过我把顺序颠倒后也没有得到一样的结果。 全是1 jackz007 发表于 2020-12-4 22:13
int i , a ;
数组 a 和变量 i 属于相邻变量,当通过 a 访问数组元素的时候,显然已经 ...
这上面我用的是VC6.0写的,我换了devc++就全是1了。那有没有办法先将数字输入进数组a中,然后再将其中的数字依次打印出来? FC_YSN 发表于 2020-12-5 14:41
这上面我用的是VC6.0写的,我换了devc++就全是1了。那有没有办法先将数字输入进数组a中,然后再将其 ...
通过循环枚举分别打印就可以啊,怎么,写代码有困难? jackz007 发表于 2020-12-5 14:44
通过循环枚举分别打印就可以啊,怎么,写代码有困难?
小甲鱼讲的数组的那章不是特别的明白,能写个例子我看看么?谢谢了 FC_YSN 发表于 2020-12-5 14:48
小甲鱼讲的数组的那章不是特别的明白,能写个例子我看看么?谢谢了
#include<stdio.h>
#define num 50
int main()
{
int i , a ;
for (i = 0 ; i < num ; i ++) a = 100 + i ;
printf("%5d" , a) ;
for(i = 1 ; i < num ; i ++) printf("\t%5d" , a) ;
printf("\n") ;
} jackz007 发表于 2020-12-5 14:59
照着你的思路自己又改了些,终于写成了我想要的样子,感谢!!!
页:
[1]