gpt4 book ai didi

检查 C 中的不同字符

转载 作者:行者123 更新时间:2023-12-05 08:50:37 27 4
gpt4 key购买 nike

我想知道在 c 中是否有一种方法可以检查,例如在 for 函数中,如果变量等于或不等于某些字符,而不必每次都重复进行相等性检查。如果我没记错的话,以这种方式检查相等性是不正确的:

if (a == ('\n' || '\t' || ' ' || ',' || '.' || ';' || ':' || '!' || '?')) {
execute certain action;
}

你需要一个无穷无尽的 a == '\n' || 链一个 == '\t' || ...。我想知道是否有更短(更清晰)的方法来检查符号列表的相等性,因为当您使用更具描述性的内容代替 a 时,这段代码会变得一团糟。另外,如果你能向我解释为什么第一部分是错误的,我将不胜感激。

最佳答案

您可以使用strchr() 来搜索字符串中的字符。

#include <string.h>

if (strchr("\n\t ,.;:!?", a) != NULL) {
// execute certain action
}

您的尝试不起作用的原因是 || 运算符使用 bool OR 运算组合其所有操作数,并返回一个 bool 值。 x ||如果 xy 非零,则 y 为真。所以你的测试本质上等同于

if (a == 1)

关于检查 C 中的不同字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61465810/

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