用C语言编译,输入一个字符和一个以回车结束的字符串(少于80个字符),在字符串中查找该字符。如果找到,则输出该字符在字符串中对应的最大下标(下标从0开始),否则输出“Nother Found”。
时间: 2024-12-13 16:17:23 浏览: 5
在C语言中,你可以通过以下步骤实现这个功能:
1. 定义一个函数 `find_char(char ch, char str[])` 来完成查找任务:
```c
#include <stdio.h>
#include <string.h>
int find_char(char ch, char str[]) {
int index = -1; // 初始化找不到的标志
// 遍历字符串,查找字符ch
for (int i = 0; i < strlen(str); i++) {
if (str[i] == ch) {
index = i; // 找到字符,更新索引
break;
}
}
// 如果找到,返回最大下标(非负值)
if (index != -1)
return index;
// 如果未找到,返回 "Not found"
return index == -1 ? -1 : "Not found"; // 使用整数 -1 或字符串 "Not found" 表示未找到
}
int main() {
char ch;
printf("请输入一个字符: ");
scanf(" %c", &ch); // 用空格过滤前导空白字符
getchar(); // 消耗掉换行符
char str[80];
printf("请输入一个字符串(少于80个字符): ");
fgets(str, sizeof(str), stdin);
// 移除字符串末尾的换行符
str[strcspn(str, "\n")] = '\0';
int result = find_char(ch, str);
if (result >= 0)
printf("字符 '%c' 在字符串中的位置为 %d\n", ch, result);
else
printf("%s\n", result);
return 0;
}
```
在这个代码中,我们首先定义了一个名为 `find_char` 的函数,它接收一个字符 `ch` 和一个字符串 `str`。然后在字符串中遍历,一旦找到字符就返回其索引,如果没有找到则返回-1或对应的字符串"not found"。
在主函数里,分别获取字符和字符串作为输入,并调用 `find_char` 函数来查找。最后根据返回的结果展示相应的信息。
阅读全文