C语言调试,求大神

C语言调试,求大神请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中, 一维数组中数据的个数存放在形参n所指的存储单元中。 例如, 二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是: 33 33 33 33 44 44 44 44 55 55 55 55。
#include <stdio.h>
void fun(int (*s)[10], int *b, int *n, int mm, int nn)
{
}
main() { int w[10][10] = {{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j ;
int a[100] = {0}, n = 0 ;
printf("The matrix:\n") ;
for(i = 0 ; i < 3 ; i++)
{ for(j = 0 ; j < 4 ; j++) printf("%3d",w[i][j]) ; printf("\n") ;
}
fun(w, a, &n, 3, 4) ;
printf("The A array:\n") ;
for(i = 0 ; i < n ; i++) printf("%3d",a[i]);printf("\n\n") ;
}

第1个回答  2018-06-14
#include<stdio.h>

void fun(int (*s)[10], int *b, int *n, int mm, int nn){
int k=0;
for(int i=0;i<mm;i++){
for(int j=0;j<nn;j++){
b[k]=s[i][j];
k++;
}
}
*n=k;
}


int main() { 
   int w[10][10] = {{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j ; 
   int a[100] = {0}, n = 0 ; 
   printf("The matrix:\n") ; 
   for(i = 0 ; i < 3 ; i++){ 
      for(j = 0 ; j < 4 ; j++) 
          printf("%3d",w[i][j]) ; 
  printf("\n") ; 
    } 
    fun(w, a, &n, 3, 4) ; 
    printf("The A array:\n") ;
    for(i = 0 ; i < n ; i++) 
     printf("%3d",a[i]);
    printf("\n\n") ;
}

本回答被网友采纳
第2个回答  2020-10-30
相似回答