我写的代码没有给出用户提供给它的标记输入,而是打印所有随机垃圾值。请帮助解决这个问题。
#include <stdio.h>
void display(int number_1, int number_2)
{
int marks[number_1][number_2];
for (int i = 0; i < number_1; i++)
{
for (int j = 0; j < number_2; j++)
{
printf("The marks of student %d in subject %d is: %d\n", i + 1, j + 1, marks[i][j]);
}
}
}
int main()
{
int a;
printf("The number of student:\n");
scanf("%d", &a);
int b;
printf("The subject:\n");
scanf("%d", &b);
int i;
int j;
int marks[i][j];
for (i = 0; i < a; i++)
{
for (j = 0; j < b; j++)
{
printf("Enter The marks of student %d in subject %d : \n", i + 1, j + 1);
scanf("%d", &marks[i][j]);
}
}
display(a, b);
return 0;
}
3条答案
按热度按时间0yg35tkg1#
数组在文件范围中的此声明
无效且没有意义。请将其删除。
数组中元素的数量主要由变量
a
和b
指定。所以你需要写
而不是
要调用数组
marks
的函数,需要声明一个接受数组的函数参数。函数声明可以如下所示
在main中,函数的调用方式如下
pgpifvop2#
l0oc07j23#
通过从用户获取输入创建一个二维数组。编写一个显示函数来打印此二维数组的内容enter image description here