关于c语言二维数组做函数参数的,总是出现错误提示。
#include<stdio.h>#include<stdlib.h>#include<time.h>voidZhiFan(inta[][],intn){inti,j;f...
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void ZhiFan(int a[][],int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(j==i)
a[i][j]=1;
}
main()
{
int n,i,j;
printf("请输入阶数n:\n");
scanf("%d",&n);
int a[n][n];
srand(time(NULL));
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=rand()%2;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
ZhiFan(a,n);
printf("-------------");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
system("pause");
} 展开
#include<stdlib.h>
#include<time.h>
void ZhiFan(int a[][],int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(j==i)
a[i][j]=1;
}
main()
{
int n,i,j;
printf("请输入阶数n:\n");
scanf("%d",&n);
int a[n][n];
srand(time(NULL));
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=rand()%2;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
ZhiFan(a,n);
printf("-------------");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
system("pause");
} 展开
2个回答
展开全部
int n,i,j;
printf("请输入阶数n:\n");
scanf("%d",&n);
int a[n][n];这里可能有问题,具体看编译器,有些编译器数据类型的定义必须放在函数的一开始,中间不能插入其他语句,还有数组的维数只能是常量,要么固定,要么用宏定义确定
printf("请输入阶数n:\n");
scanf("%d",&n);
int a[n][n];这里可能有问题,具体看编译器,有些编译器数据类型的定义必须放在函数的一开始,中间不能插入其他语句,还有数组的维数只能是常量,要么固定,要么用宏定义确定
追问
自己找到问题了。虽然不是你这个还是谢谢你哈。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询