- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
ISO C++ 禁止在 devc++ 中比较指针和整数 [-fpermissive] 错误它基本上是点和框的游戏错误出现在我比较过的大约六个地方的检查函数中,比如 a[i-1][j]=="_"帮我找出问题
#include <stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
int p=0;
int g=1;int p1s=0;int p2s=0;
char pl,pt1,pt2;
char p1[20];
char p2[20];
char a[17][35];
void printer(){int i,j;
system("cls");
printf("score ----> %s => %d %s => %d\n",p1,p1s,p2,p2s);
printf(" 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 \n");
for(i=0;i<17;i++){if(i%2==0)printf("%c ",'a'+(i/2));for(j=0;j<35;j++)printf("%c ",a[i][j]);printf("\n");}
}
void check(char c,char d,int i1,int i2,int p){int i,j,k,l;
if(c==d){
i=c-'a';i=2*i;j=2*i1+1;
if(a[i-2][j]=="_" && a[i-1][j-1]=="|" && a[i-1][j+1]== "|"){if(p%2==0){p1s++;a[i-1][j]=pt1;};if(p%2==1){p2s++;a[i-1][j]=pt2;}}
if(a[i+2][j]=="_"&&a[i+1][j-1]=="|"&&a[i+1][j+1]=="|"){if(p%2==0){p1s++;a[i+1][j]=pt1;};if(p%2==1){p2s++;a[i+1][j]=pt2;}}
}
}
void game(){ int i,j,k,i1,i2,i3;
for(i=0;i<17;i++){for(j=0;j<35;j++){if(i%2==0){if(j%2==0)a[i][j]='.';else a[i][j]=' ';}else a[i][j]=' ';}}
printer();
char c[4];char d[4];
while(g==1){ if(p%2==0){printf("%s's turn",p1)}
if(p%2==1){printf("%s's turn",p2)}
printf("enter first coordinate\n");
gets(c);
printf("enter second coordinate\n");
gets(d);
i1=10*(c[1]-'0')+(c[2]-'0');
i2=10*(d[1]-'0')+(d[2]-'0');
if(c[2]=='\0')i1=c[1]-'0'; /* correction if single digit is entered */
if(d[2]=='\0')i2=d[1]-'0';
i3=d[0]-c[0]+i2-i1;
i3=d[0]-c[0]+i2-i1;
if(i3!=1){printf("invalid move\n");continue;}
if(!((c[0]-'a')<25)&&!((d[0]-'a')<25)){printf("invalid move\n");continue;}
if(!(i1<18)&&!(i2<18)){printf("invalid move\n");continue;}
if(c[0]==d[0]){j=c[0]-'a';j=2*j;k=i2*2+1;if(a[j][k]=='_'){printf("repeated line\n");continue;}else a[j][k]='_';}
if(i2==i1){j=c[0]-'a';j=2*j+1;k=i1*2+1;if( a[j][k]=='|'){printf("repeated line\n");continue;}else a[j][k]='|';}
check(c[0],d[0],i1,i2,p);
printer();
}
}
int main (){
printf("Enter first player's name:\n");
gets(p1);
printf("Enter second player's name:\n");
gets(p2);
pt1=p1[0];
pt2=p2[0];
if(p1[0]==p2[0])pt2=p2[1];
game();
return 0;
getch();
}
我使用 devcpp 进行编程a 是我的二维字符串为什么这个比较无效?
最佳答案
您错误地使用了双引号 ""
来表示 char
。您需要使用单引号 ''
来表示 char
。
双引号 ""
表示一个 string,它本质上为您提供了基地址,它只是一个指针类型。您不能将 指针 与值进行比较,例如 a[i-2][j]
,此处是 char
类型。
像这样使用
a[i-2][j]=='_'
等等,你应该可以开始了。
关于c++ - ISO C++ 禁止在 devc++ 中比较指针和整数 [-fpermissive] 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30538139/
推箱子小游戏(基于DEVC++),供大家参考,具体内容如下 ? 1
我已经在 devc++ 上编译了它,它返回了此消息 ERROR 193 : it isn't a win32 valid application. 我无法弄清楚问题出在哪里。 对于 C 语言来说,代码
这里的问题是,在函数中已经有一些语句后,我不能在函数内声明变量。在开始时声明工作正常,但在某些事情之后,它给出了一个解析错误。例如: int main() { int b; b = sisesta
我正在尝试编写一个程序来计算字符串中出现的字母数量。我只想计算给定字符串上的字母 A 和 B。 char string[10]; int countA, countB; gets(string); f
我正在尝试使用 Dev-C++,但它无法正常工作,因为我无法在文件路径中运行带有空格的程序。看起来有人忘记了经常使用这样的字符。 我可以毫无问题地编译代码,但我无法运行它。 -------------
#include #include #include #pragma comment(lib, "wininet") #include #include using namespace st
我有这个代码 #include #include using namespace std; int main() { double a,b,c; double x,x2;
我正在使用从 Sourceforge 下载的 Dev C++ 5.11。它工作正常,但总是在我启动它时显示 this .任何人都知道这是什么问题?? 最佳答案 我想那是因为你没有在这个目录上安装 mi
我继承了大量用于运行和监控实验室设备的 C++ 代码。目前,部署是通过使用 DevC++ 编译所有单独的模块(每个模块都是自己的程序),手动将所有 .exe 文件移动到 Dropbox 文件夹,然后在
我在这部分代码中收到错误“expected primary-expression before “else””。但是我找不到解决方案。任何帮助将不胜感激。 //create class Date ob
我启动了 lazyfoo SDL 教程(http://lazyfoo.net/SDL_tutorials/lesson01/windows/devcpp/index.php),我完全按照所写的安装说明
所以我的代码执行以下操作: 询问有什么选择 如果选项是1:扫描一些数字 如果选项为 2:打印这些数字 在每个选项之后,询问用户是否想继续选择(是/否) 这是我的主要代码 while(yesnochec
我用 dev 写了一个简单的代码,但它没有返回任何东西。但是有代码块答案显示。问题是什么? #include int main() { int x,y,z; scanf("%d%d"
我正在学习C++,需要一些有关编译错误消息的帮助。我有一些代码... http://codepad.org/ncGTYWew。 在DevC++中进行编译时,得到以下输出:22 C:\Dev-Cpp\P
我有以下代码在 LinkedList 中插入元素。我一直在关注教程,但无法发现此代码中的错误。 我正在使用 DEVC++,它给了我一个编译时错误: [错误]“节点”未声明(在此函数中首次使用) #i
我正在尝试编写一些 C 代码,在运行以下代码时,我的编译器在打印“A”后突然终止。为什么? //report expected thing void Expected(char *s){ int i=
我不知道 PCRE 是否可以在我的 DevC++ 项目中工作。当我执行这样的功能时,它总是会产生错误代码: #include 你知道吗,这不是关于 no such file or directory
我想尝试使用我的 C++ 程序的 postscript 输出,并在搜索可以帮助我的库时找到了 Cairo 包。我正在使用 Dev-Cpp,我通过它的包管理系统下载了 Cairo。安装顺利。我还不能编译
我想添加对象 IFileOperation 和 IShellItem,但我无法以任何方式填写源并返回: IFileOperation - undeclared (first use in this f
我正在运行最新的 DevC++ 5.5.3,我需要使用 Allegro 5.0.4,所以我从 devpaks 下载它并以常规方式安装它。但是当我想用 allegro 运行项目时,编译器会显示错误“al
我是一名优秀的程序员,十分优秀!