#include <stdio.h>
#include <string.h>
#define M 4
#define N 4
void fun(char (*s)[N], char *b) //注意有’\0’需要加上去
{
int i,j,k=0;
for(j=0;j<N;j++) //这里代表列
{
for(i=0;i<M;i++) //这里代表行
{
*(b+k)=*(*(s+i)+j); //用二维指针逐个赋值
k++;
}
}
*(b+M*N)='\0';
}
main()
{
char a[100],b[M][N]; //定义二维字符数组
int i,j;
for(i=0;i<M;i++) //字符串的输入
{
for(j=0;j<N;j++)
{
scanf("%c",&b[i][j]);
}
}
printf("原始数据是:\n");
for(i=0;i<M;i++) //字符串的输出
{
for(j=0;j<N;j++)
{
printf("%4c",b[i][j]);
}
printf("\n");
}
fun(b,a); //函数调用
printf("字符串: \n");
puts(a);
}
功能:请编写函数void fun(char (*s)[N], char *b),将M行N列的二维数组中的字符数据按列的顺序依次放到一个字符串中。 例如:二维数组中的数据为:
最新推荐文章于 2024-05-28 19:46:55 发布