C语言中,编写函数,判断一个字符串是否包含某个字符,并在主函数中测试结果
时间: 2024-02-17 09:01:04 浏览: 187
可以使用C语言中的字符串函数来判断一个字符串是否包含某个字符,例如使用strchr函数。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int contains(char *str, char c) {
char *p = strchr(str, c);
if (p != NULL) {
return 1;
} else {
return 0;
}
}
int main() {
char str[] = "Hello, world!";
char c = 'o';
if (contains(str, c)) {
printf("%s contains %c\n", str, c);
} else {
printf("%s does not contain %c\n", str, c);
}
return 0;
}
```
这个程序首先定义了一个函数`contains`,该函数接受两个参数,一个是字符串指针,另一个是要查找的字符。在函数中,使用strchr函数查找字符串中是否包含该字符,如果找到了,则返回1,否则返回0。
然后在主函数中,定义一个字符串和要查找的字符,调用contains函数进行判断,并输出结果。
注意,这个程序只能判断一个字符是否包含在字符串中,如果要判断一个字符串是否包含在另一个字符串中,则需要使用其他函数,例如strstr函数。
相关问题
C语言中,编写函数,判断一个字符串是否包含另一个字符串,并在主函数中测试结果
可以使用C语言中的strstr函数来判断一个字符串是否包含另一个字符串。该函数的原型为:
```c
char *strstr(const char *str1, const char *str2);
```
其中,str1表示要查找的字符串,str2表示要查找的子字符串。如果str2是str1的子串,则返回str2在str1中第一次出现的位置的指针;如果str2不是str1的子串,则返回NULL。
下面是一个示例代码,可以判断一个字符串是否包含另一个字符串。
```c
#include <stdio.h>
#include <string.h>
int isContain(char *str1, char *str2) {
if (strstr(str1, str2) != NULL) {
return 1;
} else {
return 0;
}
}
int main() {
char str1[100], str2[100];
printf("请输入字符串1:");
scanf("%s", str1);
printf("请输入字符串2:");
scanf("%s", str2);
if (isContain(str1, str2)) {
printf("字符串1包含字符串2\n");
} else {
printf("字符串1不包含字符串2\n");
}
return 0;
}
```
在上述代码中,isContain函数用来判断str1是否包含str2;主函数中输入两个字符串,并调用isContain函数进行判断。运行程序后,会输出相应的判断结果。
c语言编写函数判断一个字符串是否为回文运用指针函数并判断输入字符串是否为回文
在C语言中,我们可以利用指针和循环结构来编写一个函数来判断一个字符串是否是回文。回文是指正读反读都一样的字符串,比如"level"、"racecar"等。
下面是一个简单的C函数示例,它接受两个指向字符数组的指针作为参数,通过比较首尾字符是否相等来判断字符串是否为回文:
```c
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
bool is_palindrome(char *str1, char *str2) {
// 如果两个指针交叉点到达结束位置,则说明是回文
if (str1 >= str2)
return true;
// 比较两个指针所指的字符是否相等
while (*str1 == *str2) {
str1++;
str2--;
}
// 如果有不相等的字符,说明不是回文
return false;
}
int main() {
char input[] = "madam";
if (is_palindrome(input, input + strlen(input) - 1)) {
printf("%s is a palindrome.\n", input);
} else {
printf("%s is not a palindrome.\n", input);
}
return 0;
}
```
在这个例子中,`str1` 和 `str2` 分别指向字符串的开始和结束,然后向中心移动,如果发现有不匹配的字符则返回 `false`。如果没有找到不匹配的字符,说明整个字符串是回文,返回 `true`。
阅读全文