#include<stdio.h>
#define ROW 3
#define COL 4
int main(){
int i=0,j=0;
int a[ROW][COL],b=0,row[b],max;
for(i=0;i<ROW;i++){
for(j=0;j<COL;j++){
scanf("%d",&a[i][j]);
}}
for(i=0;i<ROW;i++){
max=a[i][0];
for(j=0;j<COL;j++)
if(a[i][j]>max)
max=a[i][j];
row[b]=max;}
for(b=0;b<ROW;b++){
printf("%d",row[b]);}
return 0;
}
VS编译器不支持变长数组的定义,你这里的定义有问题。
定义的时候数组里面必须是一个数字,但是使用的时候可以是参数
#include<stdio.h>
#define ROW 3
#define COL 4
int main() {
int i = 0, j = 0;
int a[ROW][COL],b=0, row[ROW], max;
for (i = 0; i < ROW; i++)
{
for (j = 0; j < COL; j++)
{
scanf("%d", &a[i][j]);
}
}
for (i = 0; i < ROW; i++)
{
max = a[i][0];
for (j = 0; j < COL; j++)
{
if (a[i][j] > max)
max = a[i][j];
}
row[i] = max;
}
for (b = 0; b < ROW; b++)
{
printf("%d ", row[b]);
}
return 0;
}
如果对你有帮助,还请点个采纳,万分感谢!
#include <stdio.h>
#define ROW 3
#define COL 4
int main()
{
int i = 0, j = 0;
int a[ROW][COL], row[ROW], max;
for (i = 0; i < ROW; i++)
{
for (j = 0; j < COL; j++)
scanf("%d", &a[i][j]);
}
for (i = 0; i < ROW; i++)
{
max = a[i][0];
for (j = 1; j < COL; j++)
if (a[i][j] > max)
max = a[i][j];
row[i] = max;
}
for (i = 0; i < ROW; i++)
printf("%d\n", row[i]);
return 0;
}