当我们使用二维字符数组时,我们可以自由地初始化我们声明数组的字符串,或者使用scanf()函数接收字符串。但是当我们使用一个指针数组,我们无法使用scanf()从键盘接收字符串。为什么?指向字符串的指针阵列
#include<stdio.h>
int main()
{
char *names[6];
int i;
for(i=0;i<=5;i++)
{
printf("Enter name:");
scanf("%s",names[i]);
}
return 0;
因为这些指针并不指向您可以写入的任何位置? – juanchopanza 2014-10-04 08:54:18
另外这是*不是*二维数组的字符。查找有关C中指针和数组之间差异的基础知识。 – 2014-10-04 09:17:43