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

2024-11-02 01:24:02
推荐回答(2个)
回答(1):

因为str1定义的空间太小,输入的目的字符串已经造成了数组的越界:存储到str1中数据过长,已改写数组存储空间的后续空间所弊兆存租数租储的数据。虽然你的程序很简单,使用的内存很小,有时系统未报错,但越界操作很可能会引起程序、系统崩溃,建议毕仔str1定义一个较大的空间,避免此类危险。

回答(2):

#include/*头文件*/
#define N 10       /*定义N为10*/
int main()
{int i,j,a[N][N];
for(i=0;i{a[i][i]=1;              
a[i][0]=1;
}
for(i=2;ifor(j=1;j<=i-1;j++)   /*令j=1,当ia[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i{for(j=0;j<=i;j++) /*令j=0,当iprintf("%6d",a[i][j]);/*以6位输出a[i][j]*/
printf("\n");
}
printf("\n");
return 0;
}
说实在的,我没看懂含数咐你的程序的目的,没有错误但无法运行,是不是少了什么