错误]ISO C++;禁止指针和整数[-fppermissive]之间的比较 我是C++编程初学者,我在学校有这个活动。我不断地得到[错误] ISO C++禁止在第15行中指针和整数[ffimist]的比较。你如何解决这个问题?谢谢 #include <iostream> #include <conio.h> #include <string.h> using namespace std; int pass[5]; int x; main() { cout<<"\nEnter pin code: "; for(x=0;x<=4;x++) { pass[x]=getch(); putch('#'); } if(pass==86222) cout<<"\nW E L C O M E!"; else cout<<"\nIncorrect Pin Code"; getch(); } #包括 #包括 #包括 使用名称空间std; 国际通行证[5]; int x; main() { 不能

错误]ISO C++;禁止指针和整数[-fppermissive]之间的比较 我是C++编程初学者,我在学校有这个活动。我不断地得到[错误] ISO C++禁止在第15行中指针和整数[ffimist]的比较。你如何解决这个问题?谢谢 #include <iostream> #include <conio.h> #include <string.h> using namespace std; int pass[5]; int x; main() { cout<<"\nEnter pin code: "; for(x=0;x<=4;x++) { pass[x]=getch(); putch('#'); } if(pass==86222) cout<<"\nW E L C O M E!"; else cout<<"\nIncorrect Pin Code"; getch(); } #包括 #包括 #包括 使用名称空间std; 国际通行证[5]; int x; main() { 不能,c++,c,pointers,integer,C++,C,Pointers,Integer,您正在读取字符并将它们作为整数进行比较。这不起作用 以下内容首先将字符放入字符数组,然后将该数组转换为整数并比较整数: char passch[6]; int pass, x; main() { cout<<"\nEnter pin code: "; for(x=0;x<=4;x++) { passch[x]=getch(); putch('#'); } passch[5]= '\0'; pass

您正在读取字符并将它们作为整数进行比较。这不起作用

以下内容首先将字符放入字符数组,然后将该数组转换为整数并比较整数:

char passch[6];
int pass, x;
main()
{
    cout<<"\nEnter pin code: ";
    for(x=0;x<=4;x++)
    {
        passch[x]=getch();
        putch('#');
    } 
    passch[5]= '\0';
    pass= atoi(passch);
    if(pass==86222)
        cout<<"\nW E L C O M E!";
    else
        cout<<"\nIncorrect Pin Code";
    getch();
}
charpassch[6];
int pass,x;
main()
{
CUT

PASS是一个数组(它以C++实现为指针),86222是整数。不能比较这些。


正如@haris在他们的评论中所说,你真的只想将输入存储为一个整数。你可以使用
std::cin>>pass
。然后你可以将
pass
与你存储的值进行比较。

你在以一种非常奇怪的方式做事情。如果你想比较
int
s。取
int
,阅读并比较,为什么是否需要
数组

最好且简单的方法是只使用
int
s

#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
main()
{
    int pass;
    cout<<"\nEnter pin code: ";
    cin>>pass;

    if(pass==86222)
        cout<<"\nW E L C O M E!";
    else
        cout<<"\nIncorrect Pin Code";
    getch();
}

这对我来说更像是一个评论。我能做些什么来解决这个问题呢?你正在以一种非常奇怪的方式做事情。如果你想比较
int
s。把它和
int
,读一读并比较,为什么需要
array
呢?发布了一个简单的方法来做你正在尝试的事情。@Haris我们需要用#或类似于输入密码的东西来隐藏pin码密码。我们需要用#或类似于输入密码的东西来隐藏pin码。@HarisIt说[Error]无法将参数“1”的“int*”转换为“int strcmp(const char*,const char*)”@hdlsswrrr,对不起,错误。。应该是
char pass[5]
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
char pass[5];
int x;
main()
{
    cout<<"\nEnter pin code: ";
    for(x=0;x<=4;x++)
    {
        pass[x]=getch();
        putch('#');
    }   
    if(!strcmp(pass, "86222"))
        cout<<"\nW E L C O M E!";
    else
        cout<<"\nIncorrect Pin Code";
    getch();
}