64,654
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int main()
{
char *s[]={"man","woman","girl","boy","sister"};
char **q;
int k;
q=&s[0];
for(k=0;k <5;k++)
{
*q=s[k];
printf("%s\n",*q);
}
return 0;
}
#include <cstdio>
int main()
{
char *s[]={"man","woman","girl","boy","sister"};
char **q;
int k;
for(k=0;k <5;k++)
{
*q=s[k]; //OK, *q=s[k]; not ok,为什么
printf("%s\n",*q);
}
return 0;
}
在dev c++中可以啊。
q=&s[k]; //OK, *q=s[k]; not ok,为什么
在一级指针未初始化之前,就使用二级指针这类型的操作不被编译器所接受!(q为初始化就使用*q);
直接对一级指针赋值q=&s[k]; 此类操作是允许的