在交流
char write[500][255];
void func1()
{
int i=0;
while(i<100)
{
char text[255];
sprintf(text, "abcdefgh %d - %d - %d", i, i*2, i*3);
strcpy(write[i],text);
i++;
}
func2(&write);
}
在公元前
void func2(char *write)
{
int i=0;
while(i<100)
{
printf("%d --> %s", i, &write[i]);
i++;
}
}
结果是:
abcdefgh 0 - 0 - 0
bcdefgh 0 - 0 - 0
cdefgh 0 - 0 - 0
defgh 0 - 0 - 0
efgh 0 - 0 - 0
fgh 0 - 0 - 0
gh 0 - 0 - 0
...
我也收到了这个警告func2(&write);
passing argument 1 of 'func2' from incompatible pointer
我不明白为什么结果是这样的。我怎样才能摆脱这个警告。我无法获取 write[] 数组的值。我怎样才能做到这一点?
谢谢
工作代码在这里:http: //ideone.com/HTyZwH