饺影 发表于 2022-6-19 19:35:36

求问,为啥我会报错

#include "stdio.h"
#include "stdlib.h"
#include <windows.h>
int main()
{
        char haveEmail;
        char email;
        printf("本程序开发者为饺影,qq:3044067398\n");
        Sleep(1000);
       
        printf("欢迎使用本程序\n");
        Sleep(1000);
       
        printf("请问您有邮箱吗?\n");
        printf("");
       
        scanf("%s",&haveEmail);
       
        if ( haveEmail == "y" ){ //有邮箱的情况下
                system("start http://www.baidu.com.cn");
        }
       
        if ( haveEmail == "n" ){ //没有邮箱的情况下
                printf("这里推荐注册以下邮箱");
                printf("");
                scanf("%s",&email);
                if ( email == "163"){ //选择163邮箱
                        systeam("start https://mail.163.com/");
                }
               
                if ( email == "126"){ //选择126邮箱
                        system("start https://mail.126.com/");
                }
               
                printf("如果您注册完毕");
        }
        return 0;
}

报错是:19        17        D:\360MoveData\Users\Administrator\Desktop\未命名1.c        comparison between pointer and integer

1762075716 发表于 2022-6-20 02:18:03

单个字符判断用单引号,双引号会被认为是字符串,字符串取值是字符串的首地址,报错信息就是不能把整数类型和指针类型相互比较

wp231957 发表于 2022-6-20 06:33:02

if ( email == "126"){ //选择126邮箱
这个要用strcmp替换
其他的单字符可以把双引号变成单引号
页: [1]
查看完整版本: 求问,为啥我会报错