题目描述
要求就是要填充空白部分的代码,其中---是需要填写的部分,共有三处。
题目来源
在看鱼C工作室的课程的时候遇到的一道课后题。
相关代码
#include<stido.h>
int main()
{
char *array[5] = {"FishC", "Five", "Star", "Good", "Wow"};
char --- = &array;
int i, j;
for(i = 0; i<5; i++)
{
for(j = 0; --- != '\0'; j++)
{
printf("%c", ---);
}
printf("\n");
}
return 0;
}
预期结果
答案是
#include <stdio.h>
int main()
{
char *array[5] = {"FishC", "Five", "Star", "Good", "WoW"};
char *(*p)[5] = &array;
int i, j;
for (i = 0; i < 5; i++)
{
for (j = 0; (*p)[i][j] != '\0'; j++)
{
printf("%c ", (*p)[i][j]);
}
printf("\n");
}
return 0;
}
请问这里的*(*p)[5]
是什么意思呢,感觉只要理解了这个,后面两个空就好填了。
变量 p 是一个指针,指向地址的类型是
char * [5]
,也就是“长度”为 5 的数组,数组里的元素是char *