请用C语言编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据, 按列的顺序依次放到一维数组中。
}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]);} 展开
#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:双精度浮点型数据,属于浮点数据的一种。
参考资料:
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;
}
参考来源:
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]);
}
上机验证过了,好好加油
祝好~
#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]);
}