【发布时间】:2020-04-15 23:09:21
【问题描述】:
这是一个用随机数填充数组的函数。 n 是用户输入,p[n][n] 是我尝试创建的数组。我想使用 2 个名为 fillPin2d 和 showPin2d 的函数,以便一个函数用随机数填充数组,一个函数用于打印数组。程序一直要求输入一个整数,但它没有显示我创建的数组。
#include<stdio.h>
#include<stdlib.h>
void fillPin2d(int n,int p[n][n])
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
p[i][j]=rand()% 11;
}
void showPin(int n,int p[n][n])
{
int i,j;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%d\n",p[i][j]);
}
}
}
main() {
int n;
do {
printf("Enter an integer n>5: \n");
scanf("%d",&n);
}while(n<=5);
int p[n][n];
fillPin2d(n,p);
showPin(n,p);
system("pause");
}
【问题讨论】:
-
在问题中包含代码并正确格式化。不要像这样在cmets中发布它
-
请提出一个实际问题。您遇到了什么具体问题?
-
“运行不正确”。你能更精确一点吗?它会崩溃吗?它什么都不打印吗?它会打印一些正确的结果和一些错误的结果吗?另外,请格式化代码,使其可读。
-
您输入的内容是什么?
"Enter an integer n>5表示您输入的数字大于 5。但条件while(n>5)将是错误的,因为除非数字小于或等于 5,否则它将继续循环。 -
顺便说一句,这是
int main(void),而不是main()。你用的是什么编译器?