关于数组的输出形式
#include<stdio.h>void main()
{
int i;
int a={1,1};
for(i=2;i<20;i++)
{
a=a+a;
}
printf("%d\n",a);
}
//为什么输出结果不是a【0】到a【19】?并且搞不懂输出结果20是哪里来的?我调试了一下为什么每次编译完一个a【i】的值就显示a【20】为刚刚编译的值? 你跟着流程走啊。动动手
a=a+a;
循环1 a=a + a;
循环2 a=a + a;
循环3 a=a + a; ba21 发表于 2019-2-5 18:36
你跟着流程走啊。动动手
a=a+a;
对啊,求出a【2】然后再按一下f10就显示a【20】为刚刚求出来a【2】的值。
这里我就不懂了,明明就是a【2】的值 但愿不会被抛弃 发表于 2019-2-5 19:08
对啊,求出a【2】然后再按一下f10就显示a【20】为刚刚求出来a【2】的值。
这里我就不懂了,明明就是a【2 ...
printf("%d\n",a); // 这里是a 这时i已经等于20了好吧
a 越界,不管是什么值 不重要,你知道越界就行了。
页:
[1]