跪求C语言大神来解析一下 #include<stdio.h> #define N 10 int main() {int i,j,a[N][N]; f

跪求C语言大神来解析一下#include<stdio.h>#defineN10intmain(){inti,j,a[N][N];for(i=0;i<N;i++){a[i]... 跪求C语言大神来解析一下
#include<stdio.h>
#define N 10
int main()
{int i,j,a[N][N];
for(i=0;i<N;i++)
{a[i][i]=1;
a[i][0]=1;
}
for(i=2;i<N;i++)
for(j=1;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<N;i++)
{for(j=0;j<=i;j++)
printf("%6d",a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
展开
 我来答
匿名用户
2016-06-22
展开全部
因为str1定义的空间太小,输入的目的字符串已经造成了数组的越界:存储到str1中数据过长,已改写数组存储空间的后续空间所存储的数据。虽然你的程序很简单,使用的内存很小,有时系统未报错,但越界操作很可能会引起程序、系统崩溃,建议str1定义一个较大的空间,避免此类危险。
追问
谢谢你   为我解答
这不是我的程序 我是看不懂
所以请你为我解释一下每一句的意思 谢谢
1061904603
2018-02-02
知道答主
回答量:7
采纳率:0%
帮助的人:7345
展开全部
#include<stdio.h>/*头文件*/
#define N 10       /*定义N为10*/
int main()
{int i,j,a[N][N];
for(i=0;i<N;i++)          /*令i=0,当i<N,执行循环并自加一*/
{a[i][i]=1;              
a[i][0]=1;
}
for(i=2;i<N;i++)          /*令i=2,当i<N,执行循环并自加一*/
for(j=1;j<=i-1;j++)   /*令j=1,当i<N,执行循环并自加一*/
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<N;i++) /*令i=0,当i<N,执行循环并自加一*/
{for(j=0;j<=i;j++) /*令j=0,当i<N,执行循环并自加一*/
printf("%6d",a[i][j]);/*以6位输出a[i][j]*/
printf("\n");
}
printf("\n");
return 0;
}
说实在的,我没看懂你的程序的目的,没有错误但无法运行,是不是少了什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式