c - C如何在if语句中看到 "|"?

标签 c

嗨,我想问在我的程序的这一部分中,它是否会检查数组元素是否为 #,S 或 D,因为它似乎不起作用

    if(cis[0][1]!='#'|'D'|'S'){printf("something");

最佳答案

不会的。 | 一个按位或运算符。您需要逻辑 OR || 运算符。

if(cis[0][1]=='#' || cis[0][1]== 'D' || cis[0][1] == 'S'){printf("something");  

请注意,使用

if(cis[0][1] !='#' || cis[0][1] != 'D' || cis[0][1] != 'S') { ... }  

将使您的条件cis[0][1] !='#' ||顺[0][1] != 'D' || cis[0][1] != 'S' 始终为真。但要实现您的要求,请使用 && 作为

if(cis[0][1] !='#' && cis[0][1] != 'D' && cis[0][1] != 'S') { ... }

关于c - C如何在if语句中看到 "|"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20245843/

相关文章:

铿锵: compiling with non-flat x86 stack model

c++ - 如何在 C/C++ 中收到文件/目录更改的通知,最好使用 POSIX

C内存分配有什么问题吗?

c - 使用数组指针对结构进行排序不起作用

c - 我如何将结构的成员复制到 C 中的 double 组中?

c - 龟兔赛跑指南

c - 为什么 `struct stat` 中的字段名为 st_something?

c++ - 需要维护秩序的多线程作业

c++ - "factor out"公共(public)字段有什么办法可以节省空间?

java - java模块可以调用c模块吗?