一段代码问题
#include <stdio.h>#include <math.h>
int main()
{
int i,a;
for(i=0;i<8;i++)
a=pow(2,i+1);
i=0;
do
{
printf("%d\n",a);
i++;
}while(i<=8);
return 0;
}
题目:12.编写一个程序,创建一个8个元素的int数组,并且把元素分别设置为2的前8次幂,然后打印他们的值。使用for循环来设置值,为了变化,使用do while循环来显示这些值
为什么最后结果会有一个36多出来? 数组越界,将while循环判断改为 i < 8 BngThea 发表于 2017-10-31 15:17
数组越界,将while循环判断改为 i < 8
数组越界后的36是由内存决定的吗? 御笔剑客 发表于 2017-10-31 15:23
数组越界后的36是由内存决定的吗?
对,后面的数据是随机的,或者说是未知的 BngThea 发表于 2017-10-31 15:35
对,后面的数据是随机的,或者说是未知的
好的,谢谢了
页:
[1]