C语言中,编写函数,判断一个字符串是否包含某个字符,并在主函数中测试结果
时间: 2024-02-17 15:01:04 浏览: 91
可以使用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语言程序,实现了判断一个字符串是否是回文的功能:
```c
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str) {
int len = strlen(str);
int i, j;
for (i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
return 0;
}
}
return 1;
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
if (is_palindrome(str)) {
printf("是回文字符串\n");
} else {
printf("不是回文字符串\n");
}
return 0;
}
```
在该程序中,我们定义了一个名为is_palindrome()的函数,它的形参是一个指向字符数组的指针变量。在该函数中,我们首先使用strlen()函数计算出字符串的长度。接着使用两个指针i和j,分别指向字符串的开头和结尾,从两端开始遍历字符串,每次比较两个字符是否相等,如果不相等就返回0,表示不是回文字符串。如果遍历完整个字符串后都没有返回0,则说明是回文字符串,返回1。
在main()函数中,我们首先定义了一个字符数组str,然后使用scanf()函数从标准输入中读取这个字符串。接着调用is_palindrome()函数判断字符串是否是回文,最后输出结果。
需要注意的是,在输入字符串时,我们使用了%s格式控制符,这个控制符表示读取一个字符串,遇到空格或者换行符就停止读取。