C语言把一维数组赋值给二维数组;

#include<stdio.h>#include<string.h>main(){charaa[2][20];char*p[2];charbb[]="abcd";charcc[]="efgh";p[0]=bb;p[1]=cc;aa[0]=p[0];//这里形不通;printf("%s\n",aa);}... #include <stdio.h> #include <string.h> main() { char aa[2][20]; char *p[2]; char bb[]="abcd"; char cc[]="efgh"; p[0]=bb; p[1]=cc; aa[0]=p[0];//这里形不通; printf("%s\n",aa); } 展开

第1个回答  2020-04-20
在C语言中,字符串不能像数字一样可通过赋值符进行赋值。
如:定义int
a=233,b;后,使用b=a;给b赋值是可以的;但是char
a[20]="abc",b[20];后,不能使用b=a;给a赋值。
常用的办法是使用strcpy(b,a);函数。
你所举的例子中,aa[0]=p[0];这里是行不通的,
可以考虑用strcpy(aa[0],p[0]);完成赋值。
如果还有什么问题,请留言追问。
相似回答