C语言中,编写函数,判断一个字符串是否包含某个字符,并在主函数中测试结果
时间: 2024-02-17 14:01:04 浏览: 175
可以使用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中第一次出现的位置的指针;否则返回NULL。
以下是一个示例代码,可以在主函数中测试该函数的结果:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100], str2[100];
char *result;
printf("请输入要查找的字符串:");
scanf("%s", str1);
printf("请输入要匹配的字符串:");
scanf("%s", str2);
result = strstr(str1, str2);
if (result != NULL)
{
printf("%s包含%s\n", str1, str2);
}
else
{
printf("%s不包含%s\n", str1, str2);
}
return 0;
}
```
注意,该函数只能判断一个字符串是否包含另一个字符串,但不能判断该字符串出现的位置。如果需要判断位置,可以使用其他函数来实现。
c语言,编写函数f,将字符串反序存放,在主函数中输入一个字符串,最后输出反序的字符串
好的,我可以为您编写一个C语言程序实现这个功能。程序如下:
```c
#include <stdio.h>
#include <string.h>
void f(char str[]);
int main() {
char str[100];
printf("请输入一个字符串:\n");
gets(str);
f(str);
printf("反序后的字符串为:%s\n", str);
return 0;
}
void f(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
```
运行程序后,您可以输入一个字符串,程序会将这个字符串反序存放,并输出反序后的字符串。注意:由于使用了`gets`函数,输入字符串时要注意输入的长度不能超过99个字符。如果使用`scanf`函数输入字符串,需要使用`%s`格式化字符串,并且要注意空格和换行符的处理。
阅读全文