gpt4 book ai didi

c - 如何检查字符串是否包含特定字符?

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:24 25 4
gpt4 key购买 nike

我是 C 编程的新手,例如,如果我们有:

void main(int argc, char* argv[]){

char checkThisLineForExclamation[20] = "Hi, I'm odd!"
int exclamationCheck;
}

因此,如果“!”,我如何将 exclamationCheck 设置为 1存在,如果不存在则为 0?非常感谢您提供的任何帮助。

最佳答案

通过使用 strchr() ,例如:

#include <stdio.h>
#include <string.h>

int main(void)
{
char str[] = "Hi, I'm odd!";
int exclamationCheck = 0;
if(strchr(str, '!') != NULL)
{
exclamationCheck = 1;
}
printf("exclamationCheck = %d\n", exclamationCheck);
return 0;
}

输出:

exclamationCheck = 1

如果您正在寻找简洁的单衬里,那么您可以遵循@melpomene 的方法:

int exclamationCheck = strchr(str, '!') != NULL;

如果不允许您使用 C 字符串库中的方法,那么,正如@SomeProgrammerDude 所建议的,您可以简单地遍历字符串,如果任何字符是感叹号,如本例所示:

#include <stdio.h>

int main(void)
{
char str[] = "Hi, I'm odd";
int exclamationCheck = 0;
for(int i = 0; str[i] != '\0'; ++i)
{
if(str[i] == '!')
{
exclamationCheck = 1;
break;
}
}
printf("exclamationCheck = %d\n", exclamationCheck);
return 0;
}

输出:

exclamationCheck = 0

请注意,当至少找到一个感叹号时,您可以中断循环,这样您就不需要遍历整个字符串。


附言:What should main() return in C and C++? int,不是 void

关于c - 如何检查字符串是否包含特定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58146750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com