我有问题制作程序,你可以用“S”作为开始“#”作为路线“绘制”地图,“E”作为结束,程序会告诉你的方式。问题是,当我绘制地图时,我无法在字符串中搜索字符。 这是我的错误代码的示例,它永远不会找到“S”:
char array[5][10];
for(i=0;i<=5;i++){
gets(array[i]);
}
for(i=0;i<=5;i++){
for(j=0;j<=10;j++){
if(array[i][j]=="S"){
printf("something");
}
else printf("something");
}
}
答案 0 :(得分:4)
您的角色比较不正确
if(array[i][j]=="S"){
应该成为
if(array[i][j]=='S'){
双引号""
包含字符串文字,而不是字符。
答案 1 :(得分:2)
c ++中大小为N
的数组中的有效索引为0到 N-1 。在所有周期中,您可以访问元素0,直到 N 。您可以访问out of bounds元素,从而调用未定义的行为。