以这种方式将字符串存入数组为什么不对?c语言求解

char a[3][10];
a[1]={"gets"};

不能直接用=给字符数组赋值(在声明的同时初始化的情况除外)
用strcpy(a[1],"gets")
以下两种情况都是可以的:
一:

char a[3][10] = { "abc","gets","haha"}; //初始化的同时给变量赋值

二:

char a[3][10];
strcpy(a[1],"gets"); //需要包含string.h头文件