我在玩,我创建了二维char数组。现在我遇到问题,当我尝试将字符放入该数组时。
infixl 5 `add`
add :: String -> String -> String
add a b = a ++ " + " ++ b
infix 2 <~
(<~) :: String -> String -> String
new <~ old = old ++ " as " ++ new
但是这给了我:
我只希望#include <iostream>
#include <string>
using namespace std;
int main()
{
char field[8][8];
for(int i=0;i<8;i++)
{
for(int j=0;j<8;j++)
{
if(field[i][j]==field[2][6])
{
field[i][j]='X';
}
else
{
field[i][j]='-';
}
cout<<field[i][j];
}
cout<<endl;
}
return 0;
}
位于X
而不是field[2][6]
到field[2][0]
。我在这里做错了什么?
答案 0 :(得分:1)
if(field[i][j]==field[2][6])
正在检查field[i][j]
的内容是否与field[2][6]
相同。它没有检查位置。如果您只希望field[2][6]
拥有X
,那么您可以使用
if (i == 2 && j == 6)
{
field[i][j]='X';
}
else
{
field[i][j]='-';
}
答案 1 :(得分:1)
你必须比较i和j而不是数组[i] [j]所以,
#include <iostream>
#include <string>
using namespace std;
int main()
{
char field[8][8];
for (int i = 0; i<8; i++)
{
for (int j = 0; j<8; j++)
{
if (i ==2 && j==6)
{
field[i][j] = 'X';
}
else
{
field[i][j] = '-';
}
cout << field[i][j];
}
cout << endl;
}
system("pause>null");
return 0;
}