请用C语言编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据, 按列的顺序依次放到一维数组中。

#include<stdio.h>voidfun(intp[3][3]){inti,j,m,intq[10];for(j=0;j<3;j++)for(i=0;i<3;i+... #include<stdio.h>void fun(int p[3][3]){ int i,j,m,int q[10]; for(j=0;j<3;j++) for(i=0;i<3;i++) { m=j*3+i; q[m]=p[i][j]; }
}void main(){ int p[3][3]={{33,33,33},{44,44,44},{55,55,55}},q[10],i; fun(p); for(i=0;i<10;i++) printf("%d",q[i]);}
展开
 我来答
总爱偷懒的猫
2019-07-20
知道答主
回答量:5
采纳率:0%
帮助的人:628
展开全部

函数使用两个嵌套的for循环以列为顺序遍历二位数组,将其中每一个数据元素都存储进准备好的一维数组中。

因为c语言函数无法将整个数组作为返回值,故函数会返回一个指向一维数组的指针。具体代码如图:

扩展资料:

二维数组作为参数的三种传参形式:

  1. 传数组,第二维必须标明。如:

    void fun(int array[][N])

  2. 数组指针,第二维必须标明。如:

    void fun(int (*array)[4])

  3. 传指针。如:

    void fun(int **array)

问明6E
高粉答主

2019-06-10 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.4万
展开全部

#include<stdio.h>

voidfun(char(*s)[n],char*b)

{inti,j,k=0;

for(j=0;j<n;j++)

for(i=0;i<m;i++)

{b[k]=*(*(s*i)+j

k==;}

b[k]=‘\0’;}

扩展资料:

chara使用方法:

C语言中char用于定义字符类型变量或字符指针变量,例如“chara;”则定义了变量a是字符类型,“char*a;”则定义了变量a是字符指针类型。

char是C语言整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中不指定为signed/unsigned,编译器可以实现为带符号的,也可以实现为不带符号的。

关于char还有一个特殊的语言就是char*,它在C语言中有专门的语义,既不同于signedchar*,也不同于unsignedchar*,专门用于指以'\0'为结束的字符串。

C语言所有基本数据类型:

void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。

char:字符型类型数据,属于整型数据的一种。

int:整型数据,表示范围通常为编译器指定的内存字节长。

float:单精度浮点型数据,属于浮点数据的一种。

double:双精度浮点型数据,属于浮点数据的一种。

参考资料:

百度百科——char(计算机语言关键字)

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小白梨哎吆喂

2019-07-14 · TA获得超过7.9万个赞
知道小有建树答主
回答量:1.7万
采纳率:45%
帮助的人:575万
展开全部

void fun(char (*s) [N],char *b)

{

int i, j, k=0;

for (i=0; i<N; i++) /*按列的顺序依次放到一个字符串中*/

for (j=0; j<M; j++)

b [k++] =s [j] [i];

b[k]=’\0’;

}

扩展资料:

C/C++语言中,fun函数通常被主函数所调用。它是指用fun来定义一个函数(或方法),这样在引用时可以用fun表示。比如int fun(int x,int y),void fun(char* a,char* b) 等等。

有先前的定义,就可以在主函数里调用它,比如ans=fun(3,7);或者fun(p1,p2)。fun函数是自定义函数。fun一词没有其它意思,只是在调用时用这个单词表示该函数。

例如:

#include<iostream>

using namespace std;

int fun(int x,int y)

{ int result=1;  

for(int i=1;i<=y;i++)

{ result*=x; }  

return result;}int main()

{ int ans;    ans=fun(3,7);//调用fun函数计算3的7次幂  

cout<<ans<<endl;//输出2187

return 0;

}

参考来源:

百度百科-fun函数

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Aristotlet
推荐于2018-02-27 · TA获得超过592个赞
知道答主
回答量:71
采纳率:0%
帮助的人:68.2万
展开全部
#include<stdio.h>
void fun(int p[][3],int q[]){
int i,j,m;
for(j=0;j<3;j++)
for(i=0;i<3;i++)
{ m=j*3+i;
q[m]=p[i][j];}
}
void main(){
int p[3][3]={{33,33,33},{44,44,44},{55,55,55}};
int q[10]={0,0,0,0,0,0,0,0,0};
int i;
fun(p,q);
for(i=0;i<10;i++) printf("%d",q[i]);
}
上机验证过了,好好加油
祝好~
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金鱼8884
推荐于2016-12-05 · 知道合伙人数码行家
金鱼8884
知道合伙人数码行家
采纳数:124 获赞数:14949
学生

向TA提问 私信TA
展开全部
#include<stdio.h>
void fun(int p[][3],int q[])
{
    int i,j,m;
    for(j=0;j<3;j++)  
    for(i=0;i<3;i++)
    { 
         m=j*3+i;
         q[m]=p[i][j];
    }
}
void main()
{
    int p[3][3]={{33,33,33},{44,44,44},{55,55,55}};
    int q[10]={0,0,0,0,0,0,0,0,0};
    int  i;
    fun(p,q);
    for(i=0;i<10;i++)  
    printf("%d,",q[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式