用c语言编程如下函数,若字符串s 中含有字符c(若含有多个,以先出现的为准),则返回该元素的下标值,否则返回-1
时间: 2024-03-09 15:50:52 浏览: 60
可以使用 C 语言的字符串库函数 `strchr()` 来查找字符串中是否包含某一个字符。如果存在该字符,则该函数返回该字符的地址;如果不存在,则返回 NULL。
下面是一个实现上述功能的函数:
```c
int find_char(char *s, char c) {
char *p = strchr(s, c);
if (p != NULL) {
return p - s;
} else {
return -1;
}
}
```
该函数接收两个参数,第一个参数是一个字符串,第二个参数是需要查找的字符。函数先使用 `strchr()` 函数查找该字符是否存在于字符串中,如果存在,则返回该字符在字符串中的下标值;如果不存在,则返回 -1。
需要注意的是,`strchr()` 函数返回的是字符指针类型,需要将其转换为整型下标值。
相关问题
C语言给定一个字符串s 判断s中是否含有acm这个字符串 输入 给定一个字符串s 长度小于100 输出 若有acm这个子串,则输出“yes”,否则输出“no”
可以使用C语言中的strstr函数来判断字符串s中是否含有acm这个子串,代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[100];
scanf("%s", s);
if (strstr(s, "acm") != NULL) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
这段代码中,我们首先定义了一个字符数组s,用于存储输入的字符串。然后使用scanf函数从标准输入中读取字符串s。接着使用strstr函数来查找字符串s中是否含有acm这个子串,如果找到了,则返回该子串在s中的指针,否则返回NULL。最后根据返回值判断是否含有acm子串,并输出相应的结果。
C语言判断字符串是否含有特定字符得函数
可以使用C语言中的strchr函数来判断一个字符串中是否含有特定字符。
函数原型如下:
```c
char *strchr(const char *str, int c);
```
其中,第一个参数是需要查找的字符串,第二个参数是需要查找的字符。如果找到了该字符,则返回该字符在字符串中的地址;如果没有找到,则返回NULL。
下面是一个例子,判断一个字符串中是否含有字符'a':
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
char *result;
char c = 'a';
printf("请输入一个字符串:");
scanf("%s", str);
result = strchr(str, c);
if (result != NULL)
{
printf("字符串中含有字符'%c'\n", c);
}
else
{
printf("字符串中不含有字符'%c'\n", c);
}
return 0;
}
```
需要注意的是,该函数只能判断单个字符是否存在于字符串中,如果需要判断多个字符是否存在于字符串中,需要使用其他方法,比如循环遍历字符串。
阅读全文