注册 登录
编程论坛 C语言论坛

结果为什么·是 3 6 0 0 0

LangZK 发布于 2019-06-30 10:32, 1984 次点击
#include<stdio.h>
main()
{int i=1;
int b[5]={3};
while(i<5 && i%2!=0)
{b[i]=b[i-1]*2; i++;}
for(i=0;i<5;i++)
printf("%3d",b[i]);
}
4 回复
#2
吕孟伟2019-06-30 11:38
b[5] = {3} -> b[0] = 3;
i = 1 -> 满足while条件,进入循环体 ->b[1] = 6;
i = 2 ->不满足条件,退出while
那么b[2],b[3],b[4]都为0。
#3
YUkoni2019-07-02 23:07
b[5]={3}的意思是以b为数组名且数组长度为5的数组里,存放了3这个数据。而数组b[5]分别为:b[0]、b[1]、b[2]、b[3]、b[4]。所以3这个数据是存放在第一个空间的,即b[0]=3。所以后面的运算就清楚了。
#4
LTao2019-07-06 14:54
%3d 什么意思?
int b[5]={3}只给数组中第0个赋值,其余四个全是随机数
#5
吕孟伟2019-07-06 15:27
回复 4楼 LTao
%3d:在要打印的数前先打印三个空格。
不是随机数,是将其他数组元素全置为0.
1