我们刚学函数,还没有学指针,如何利用函数实现可以自由输入一个数组的长度? 不知道我这个程序哪里有问题 10

#include<stdio.h>voidf(intn){inta[n][n];}intmain(){inti,j,n;scanf("%d",&n);f(n);for(i... #include<stdio.h>
void f(int n){
int a[n][n];
}
int main(){
int i,j,n;
scanf("%d",&n);
f(n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=8;
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%2d",a[i][j]);
printf("\n");}
return 0;
}
展开
 我来答
fej121121
2012-12-12 · TA获得超过651个赞
知道小有建树答主
回答量:655
采纳率:66%
帮助的人:535万
展开全部
c语言貌似不支持动态长度的数组吧?一般我们都是直接先声明一个足够长的数组,然后用多少再让用户输入即可,函数式用来重复调用的,并不是解决这种问题。你这程序改为:
#include<stdio.h>

int main(){
int a[n][n];

int i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=8;
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%2d",a[i][j]);
printf("\n");}
return 0;
}

另外提醒一下你,大括号虽然可以省略但是实际上我们一般为了可读行不做省略。
百度网友c640263
2012-12-14
知道答主
回答量:7
采纳率:0%
帮助的人:9.1万
展开全部
必须指定长度,分配内存时占用的内存大小不确定,当然会报错~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式