一个单词表存放了五个表示颜色的英文单词,输入一个字母,在单词表中查找并输出所有以此字母开头的单词,若没有找到,输出Not Found。要求用指针数组和二级指针实现。 /* 单词索引(用二级指针操作指针数组)*/ #include<stdio.h> int main(void) { int i, flag = 0; char ch; const char *color[5] = {"red", "blue", "yellow", "green", "black" }; const char ; pc = color; ch = getchar(); for(i = 0; i < 5; i++) { if( (pc + i) == ch){ flag = 1; puts( (pc + i) ); } } if(flag == 0) { printf("Not Found\n"); } return 0; }
时间: 2024-02-14 20:08:41 浏览: 194
颜色代码表(直观查找)
好的,可以参考以下代码实现:
```c
/* 单词索引(用二级指针操作指针数组)*/
#include <stdio.h>
#include <string.h>
int main(void) {
int i, flag = 0;
char ch;
const char *color[5] = {"red", "blue", "yellow", "green", "black"};
const char **ppc = color;
printf("请输入一个字母:");
ch = getchar();
for (i = 0; i < 5; i++) {
if ((*ppc)[0] == ch) {
flag = 1;
puts(*ppc);
}
ppc++;
}
if (flag == 0) {
printf("Not Found\n");
}
return 0;
}
```
首先定义一个指针数组`color`,存放五个表示颜色的英文单词。然后定义一个指向指针的指针`ppc`,初始化为指向`color`数组的第一个元素。在`main`函数中读取用户输入的字母`ch`,遍历`color`数组,如果某个单词以`ch`开头,则输出该单词,并将`flag`标记为1。最后,如果`flag`仍然为0,则输出"Not Found"。注意,`ppc`是一个指向指针的指针,它指向`color`数组中的每个指针,因此需要使用二级指针来操作指针数组。
阅读全文