Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 逻辑运算符||_C - Fatal编程技术网

C 逻辑运算符||

C 逻辑运算符||,c,C,我是否正确使用or运算符?我本想成为这些角色中的一个,但我不确定我是否正确使用了运算符不,你应该写- if ( (code == S || M || L || N || P || K ||R || C || U || W || O) ) { return T; } 不,那是无效的。首先,每个字符都必须用单引号括起来,其次,必须显式地与每个字符进行比较,也就是说,if(code='S'| code='M'…) 如果要检查这么多的条件,现在是获取数组并使用循环的时

我是否正确使用or运算符?我本想成为这些角色中的一个,但我不确定我是否正确使用了运算符

不,你应该写-

  if ( (code == S || M || L || N || P || K ||R || C || U || W || O) )
    {
       return T;
    }

不,那是无效的。首先,每个字符都必须用单引号括起来,其次,必须显式地与每个字符进行比较,也就是说,
if(code='S'| code='M'…)


如果要检查这么多的条件,现在是获取数组并使用循环的时候了。

您需要编写:

if ( (code == 'S') ||(code == 'M') ||(code == 'L') /*....*/)
但你也可以这样做:

code == 'S' || code == 'M' || code == 'L', etc.
strchr
说“字符串中是否有字符?如果是,请给我一个指向它所在位置的指针。如果不是,则返回NULL”(这只是一种表示零的奇特方式)


要使用strchr,您可能需要在源文件的顶部添加
#include

不,您不需要
| |
是逻辑or运算,C编译器将如下解释:

if(strchr("SMLNPKJRCUWO", code) != NULL) (or != 0, if you don't have NULL defined)
{}
无论如何,我都希望是这样。我相信你想要的不是那种随意的语言,但从数学上讲是正确的:

if ( (code == 'S' || 'M' != 0 || 'L' != 0 || 'N' != 0 || 'P' != 0 || 'K' != 0 || 'R' != 0 || 'C' != 0 || 'U' != 0 || 'W' != 0 || 'O' != 0) )

也许你想考虑一个<代码>开关>代码>,它看起来更好更清晰。

if ( (code == 'S' || code == 'M' || code == 'L' || code == 'N' || code == 'P' || code == 'K' || code == 'R' || code == 'C' || code == 'U' || code == 'W' || code == 'O') )

不。首先,我假设
code
是char类型,包含一个字符

如果你想使用If语句,你需要写

switch(code) {
case 'S':
case 'M':
case 'L':
case 'N':
case 'P':
case 'K':
case 'R':
case 'C':
case 'U':
case 'W':
case 'O':
    return 'T';
}
但是,我建议您为此使用开关/机箱

if ( (code == 'S' || code == 'M' || code == 'L' || ...)
{
   return 'T';
}
通常,在使用开关/机箱时,会告诉您在每个选项后使用break,因为这些选项将“失效”。但如果你有多种选择,你也可以利用这一点

switch(code){
case 'S':
case 'M':
case 'L':
case 'N':
case 'P':
case 'K':
case 'R':
case 'C':
case 'U':
case 'W':
case 'O':
    return 'T';
    break;
case 'V':
    /* Do something else if code == 'V' */
    break;
default:
    /* It's any other value... */
}