c语言中如何将一个一维字符数组数组转化为二维字符数组?

如题所述

如下程序给你一点思路吧!有不明白的地方可以追问!
#include<stdio.h>
int main(void)
{
char i,j,str1[12]="hello world",str2[2][6]={0};
printf("以下操作演示将一维字符数组str1[12]转化为二维字符数组str[2][6]!\n");
for(i=0;i<6;i++) str2[0][i]=str1[i];
for(i=6;i<12;i++) str2[1][i-6]=str1[i];
printf("打印str1的内容!\n");
puts(str1);
printf("打印str2的内容!\n");
for(i=0;i<2;i++)
for(j=0;j<6;j++)
printf("%c",str2[i][j]);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-11
把一维字符数组赋值给二维字符数组就行吧。追问

恩恩,请写一下

追答

#include
int main
{
char a[4] = {'a','b','c','d'};
char b[2][2];
int i,j,k =0;
for (i = 0;i< 2;i++)
for (j = 0 ;j<2;j++)
{ b[i][j] = a[k];
k++;}
printf("输出二维数组:");

for (i = 0;i< 2;i++)
for (j = 0 ;j<2;j++)
printf("%c ",b[i][j]);
printf("\n");
}

第2个回答  2012-12-11
定义了之后一般就不能再变了 你可以再定义一个二维字符数组然后再赋值追问

能不能将代码写一下

相似回答