Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.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+中相等+;?_C++_Arrays_If Statement - Fatal编程技术网

C++ 如何切换数组中哪些点在c+中相等+;?

C++ 如何切换数组中哪些点在c+中相等+;?,c++,arrays,if-statement,C++,Arrays,If Statement,这些更改了我打印到屏幕上的数组。direc是在此之前的一个输入。但是,当数组[1][2]='#'时,它仍然将'#'移动到数组[1][0] if (array[1][1] == '#' && direc == 'A' || direc == 'a' ) { array[1][1] = '_'; array[1][0] = '#'; } else { if (array[1][1] == '#' && direc == 'D' || dir

这些更改了我打印到屏幕上的数组。direc是在此之前的一个输入。但是,当数组[1][2]='#'时,它仍然将'#'移动到数组[1][0]

if (array[1][1] == '#' && direc == 'A' || direc == 'a' ) {
     array[1][1] = '_';
     array[1][0] = '#';
}
else {
    if (array[1][1] == '#' && direc == 'D' || direc == 'd' )  {
        array[1][1] = '_';
        array[1][2] = '#';
    }
    else {
        if (array[1][2] == '#' && direc == 'A' || direc == 'a'  ) {
            array[1][1] = '#';
            array[1][2] = '_';
        }
    }
}

您可以添加括号,如注释中所述,如下所示

if (array[1][1] == '#' && (direc == 'A' || direc == 'a' )) {
或者,您可以使用在这种情况下,您不再需要

if (array[1][1] == '#' && std::tolower(direc) == 'a') {
如果您不满意运算符&&的优先级低于运算符&,您仍然可以添加额外的括号==


(可以看到完整的运算符优先顺序表)

array[1][1]='#'&&direc='A'| | direc='A'
可能需要更改为
array[1][1]='#'&(direc='A'| | direc='A')
运算符(
的优先顺序高于
运算符(
)。如果没有@lucumt建议的括号,编译器将像
(数组[1][1]='#'&&direc='A')| | direc='A'
一样读取此内容,这可能不是您想要的。&&operator的优先级高于| | operator。使用上面lucumt提到的括号指定所需的优先级。