C ERORR:指针和整数之间的警告比较

C ERORR:指针和整数之间的警告比较,c,compiler-errors,C,Compiler Errors,请帮我警告一下:指针和整数之间的比较为什么会有警告????? 怎么了 指针和整数之间的警告比较 与字符串文字进行比较会导致未指定的行为 将字符串文字与整数进行比较?为什么?这毫无意义。整数传递永远不能等于字符串文字%d,它是{“%”、'd'、'\0'}顺便说一句 那张支票真是太贵了 if ("%d"==pass) 更糟糕的是,这就是你的警告的来源。您正在将指向int的指针与字符串文字进行比较 如果您想检查用户名和密码是否为整数,则无需执行此操作,因为scanf会为您执行此操作。有两个错误 if

请帮我警告一下:指针和整数之间的比较为什么会有警告????? 怎么了

指针和整数之间的警告比较 与字符串文字进行比较会导致未指定的行为

将字符串文字与整数进行比较?为什么?这毫无意义。整数传递永远不能等于字符串文字%d,它是{“%”、'd'、'\0'}顺便说一句

那张支票真是太贵了

if ("%d"==pass)
更糟糕的是,这就是你的警告的来源。您正在将指向int的指针与字符串文字进行比较

如果您想检查用户名和密码是否为整数,则无需执行此操作,因为scanf会为您执行此操作。

有两个错误

if ("%d"==&user)
这里比较pass变量的值和字符串文字。这是错误的,也不是必需的

这里比较的是用户变量的addrerss和字符串文本。这是错误的,也不是必需的

我已尝试将您的代码修改为某个级别。我想这就是你想要的

是的,对于用户名,您需要使用字符数组来存储名称,并使用strcmp来匹配它们

if ("%d"==&user)

如果%d==&user,我的意思是,真的吗?它不好还是什么??:这是没有意义的-你正在比较一个控制字符串和变量的地址-这是没有意义的。因为你把英语和一些语言混淆了?很难帮忙/你为什么笑。。。我是C语言新手。我主要在python中工作您确实需要检查scanf返回的值。现在,您不知道对scanf的任何调用是否真的读取了数据。@KevinIT没问题。请不要在以后调试前提问。亲爱的down投票者,请注意评论,我喜欢从自己的错误中学习。
if ("%d"==pass)
if ("%d"==&user)
#include <stdio.h>

int main()
{
    int user_org,pass_org;
    int user,pass; 

    // First store original username and password
    printf("Orignal Username:\n");
    scanf("%d",&user_org);
    printf("Original Password:\n");
    scanf("%d",&pass_org);


    // Check for username
    printf("Type your username:\n");
    scanf("%d",&user);
    if (user_org == user)
    {
        printf("Username match");
    }
    else
    {
        printf("Username is incorrect");
    }


    // check for password
    printf("type your password:\n ");
    scanf("%d",&pass);
    if (pass_org == pass)
    {
        printf("The password match");
    }
    else
    {
       printf("The password is not correct");
    }
    return 0;
}