我正在制作一个穿越迷宫的程序。我坚持我的逻辑,我想创建一个简单的if语句来比较我当前位置下面的字符是'#'(墙)还是'。' (可用空间)。我知道没有真正的方法来比较原始类型,但我需要帮助解决方案,所以我不再继续盯着这一小时。我想过使用ASCII值,但我不太确定这是否适用于2d int数组。一切都有帮助。谢谢!
if(currentLcoation[row - 1][col] == '.') //Check Down
{
int newX = row-1;
int newY = col;
currentLocation[][] = currentLocation[row-1][col];
}
编辑: 下面是我正在穿越的迷宫。我想我不明白我的意图。我想比较一下,看看我目前所处的坐标(这将是一个int [row] [col])到'#'或'。'的迷宫中。
# # # # # # # # # # # #
# . . . # . . . . . . #
. . # . # . # # # # . #
# # # . # . . . . # . #
# . . . . # # # . # . .
# # # # . # . # . # . #
# . . # . # . # . # . #
# # . # . # . # . # . #
# . . . . . . . . # . #
# # # # # # . # # # . #
# . . . . . . # . . . #
# # # # # # # # # # # #
答案 0 :(得分:1)
我没有解决你的问题。你发布的代码绝对没问题。比较两个素数是你可以做的最基本的事情,没有什么不好的。
您可以将Three Three
,char
,byte
,short
,int
,long
和double
与float
进行比较没有任何问题。 ==
内部被编号为数字。即使是这样的事情也是绝对可能的:
char
您的意思是不应该将对象与int i = 20 + 'A'; // Will be 85 as 'A' has the value 65 in ASCII
char c = 'A' + 2; // Will be 'C' or 67 (position of C in ASCII)
if(c == '#') { /* Do something */ } // Will execute if c is #
进行比较吗?因为这不会像你期望的那样表现。