写一个c语言函数判断char* p=“float”是数组char keyword[10]={"void","main","int","float","if","else","return"}中的元素
时间: 2024-09-23 21:07:58 浏览: 33
在C语言中,你可以编写一个函数来检查一个字符指针`p`是否指向预定义数组`keyword`中的某个元素。这里是一个简单的示例函数:
```c
#include <stdio.h>
#include <stdbool.h> // 使用bool类型
bool isKeyword(char* p, char keyword[][10], int num_keywords) {
for (int i = 0; i < num_keywords; ++i) {
if (strcmp(p, keyword[i]) == 0) { // 使用strcmp比较字符串
return true;
}
}
return false; // 如果没有找到匹配项,则返回false
}
// 定义预定义数组
const char keyword[] = {"void", "main", "int", "float", "if", "else", "return"};
const int num_keywords = sizeof(keyword) / sizeof(keyword[0]);
int main() {
char* p = "float";
bool isMatch = isKeyword(p, keyword, num_keywords);
if (isMatch) {
printf("'%s' 是关键字\n", p);
} else {
printf("'%s' 不是关键字\n", p);
}
return 0;
}
```
这个`isKeyword`函数通过遍历`keyword`数组,并使用`strcmp`函数比较字符串内容来确定`p`是否为关键词。如果找到匹配项,返回`true`;否则返回`false`。
阅读全文