C语言关于数组的一道题目,有代码,但是看不懂,求帮忙解释一下

#include<stdio.h>intmain(){chara[5]={'*','*','*','*','*'};inti,j,k;charspace='';for(i... #include <stdio.h>
int main()
{
char a[5]={'*','*','*','*','*'};
int i, j, k;
char space=' ';
for (i=0; i<5; i++)
{
printf("\n");
printf(" ");
for (j=1; j<=i; j++)
printf("%c",space);
for (k=0; k<5; k++)
printf("%c",a[k]);
}
printf("\n");
return 0;
}
目的是输出一个图案
******(分别输出5行)
看不懂代码里定义的 i j k space分别表示什么,求帮忙解释一下
展开
 我来答
浑俊拔0i2
2013-09-06 · TA获得超过144个赞
知道答主
回答量:29
采纳率:0%
帮助的人:42.4万
展开全部
就是变量额。。。
char space=' '; //变量space 初始化为空格 ‘ ’
i 用于循环5次 for (i=0; i<5; i++) //为最大的一个循环
代码里执行完就会输出5行 但也不是楼上说的代表行,非要说代表行的变量也是 i<5里的那个5是表示行的。。。而不是i ,i仅仅是为了完成循环,控制循环的一个变量。
如果这样写
#define LINE 5
for (i=0; i<LINE; i++) 那么LINE就是用于控制行的。。。LINE是几就打印几行
j 也一样,不能说代表空格,打印空格每次循环都不定,怎么代表。。。。
循环体里:
for (j=1; j<=i; j++) // 以i为判断 做循环,每次大循环里,都会执行i次该子循环。具体i值取决于当前循环为第几次大的循环。i=1第一次则执行一次,i=2第二次则这里循环两次,i=3第3次则循环3次

printf("%c",space);

//所完成功能: 依次,i=1时,输出一个空格
/*for (j=1; j<=2; j++)*/ i=2时候,循环输出两个空格
/*for (j=1; j<=3; j++)*/ i=3时候,循环输出3个空格

....... ........
for (k=0; k<5; k++) //同上,只不过判断条件是k<5, 而不在是 i ,即每次大循环里 固定执行5次该子循环,不像上面的子循环,具体循环次数和i有关。
printf("%c",a[k]); // 每次大循环里,都会子循环输出5个元素,a[0]到a[4]; 即输出 5个 *
百度网友7c6c06fea
2013-09-05 · TA获得超过1604个赞
知道小有建树答主
回答量:817
采纳率:75%
帮助的人:185万
展开全部
i,代表第几行
j,代表要打印几个空格
space是定义的空格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式