gpt4 book ai didi

c - 一个数组位置的多个 OR 比较

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

抱歉,我不能很好地表达这个主题。很简单,我有一个 IF 语句,我在其中比较三个条件是否满足;

if(buffer[i] == "N" && (buffer[i+1] == "1"||"2"||"3"||"4"||"5") && buffer[i+2] == " ")

我知道 N 总是会出现,之后的字符需要是 1 到 5 之间的数字,之后是空格。这确实可以编译但不会产生任何结果,我可以肯定地说这是我上面的可怕代码。

我应该补充一点,这是一个 while 循环,它在缓冲区中前进,直到空格结束。

我是不是把一个简单的问题复杂化了,还是我走在了正确的轨道上但语法糟糕?

感谢您的任何建议或提示。

最佳答案

你不能问

缓冲区[i+1] == "1"||"2"

你必须问

缓冲区[i+1] == "1"||缓冲区[i+1] == "2"

但是如果这些是 C 字符串,那么您根本不能使用 ==——您必须使用标准库中的 strcmp() 函数,当两个字符串相等时该函数返回 0:

strcmp(缓冲器[i+1], "1") == 0 || strcmp(缓冲器[i+1], "2") == 0

关于c - 一个数组位置的多个 OR 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5341383/

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