當我們使用二維字符數組時,我們可以自由地初始化我們聲明數組的字符串,或者使用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