2509561940 发表于 2020-3-13 12:01:50

报错 编译运行 char xbxy,ymyk;这句代码有问题

#include <stdio.h>
int main
{
        char xbxy,ymyk;
       
        printf("是否有空?Y/N");
        scanf("%s",&ymyk);
       
        getchar();
        printf("是否下雨?Y/N");
        scanf("%s",&xbxy);
       
        if(ymyk=Y&&xbxy=Y)
        {
                printf("有空不过下雨,记得带伞~\n");
        }
                if(ymyk=Y&&xbxy=N)
        {
                printf("有空天气晴朗~,不用带伞~\n");
               
        }
                if(ymyk=N&&xbxy=Y)
        {
                printf("没空 但今天会下雨哦 你自己一个人也要带伞\n");
        }
                if(ymyk=N&&xbxy=N)
        {
                printf("又没空又不下雨\n");
        }
       
        return
}

最后的魁拔 发表于 2020-3-13 12:04:06

你看一下,是scanf()里面是s还是c

2509561940 发表于 2020-3-13 12:05:52

最后的魁拔 发表于 2020-3-13 12:04
你看一下,是scanf()里面是s还是c

        char ymyk,xbxy;这局代码报错

就是要努力呀 发表于 2020-3-13 12:07:17

if语句全部有错
=是赋值号
==才是逻辑判断符号

就是要努力呀 发表于 2020-3-13 12:09:29

本帖最后由 就是要努力呀 于 2020-3-13 12:13 编辑

另外scanf也有错
读取字符用%c
读取字符串用%s,而且不加取地址&符

2509561940 发表于 2020-3-13 12:13:22

就是要努力呀 发表于 2020-3-13 12:09
另外scanf也有错
读取字符用%c

全部改好了 你帮我运行调试一下我寻思 char 声明变量没问题啊 是不是我电脑问题 你试试
#include <stdio.h>
int main
{
        char ymyk,xbxy;
       
       
        printf("是否有空?Y/N");
        scanf("%c",&ymyk);
       
        getchar();
        printf("是否下雨?Y/N");
        scanf("%c",&xbxy);
       
        if(ymyk=='Y'&&xbxy=='Y')
        {
                printf("有空不过下雨,记得带伞~\n");
        }
                if(ymyk=='Y'&&xbxy=='N')
        {
                printf("有空天气晴朗~,不用带伞~\n");
               
        }
                if(ymyk=='N'&&xbxy=='Y')
        {
                printf("没空 但今天会下雨哦 你自己一个人也要带伞\n");
        }
                if(ymyk=='N'&&xbxy=='N')
        {
                printf("又没空又不下雨\n");
        }
       
        return 0;
}

就是要努力呀 发表于 2020-3-13 12:14:51

本帖最后由 就是要努力呀 于 2020-3-13 12:18 编辑

#include <stdio.h>

int main(void)
{
      char xbxy,ymyk;
      
      printf("是否有空?Y/N");
      scanf("%c",&ymyk);
      getchar();

      printf("是否下雨?Y/N");
      scanf("%c",&xbxy);
      
      if(ymyk==Y&&xbxy==Y)
      {
                printf("有空不过下雨,记得带伞~\n");
      }
      else if(ymyk==Y&&xbxy==N)
      {
                printf("有空天气晴朗~,不用带伞~\n");
               
      }
      else if(ymyk==N&&xbxy==Y)
      {
                printf("没空 但今天会下雨哦 你自己一个人也要带伞\n");
      }
      else if(ymyk==N&&xbxy==N)
      {
                printf("又没空又不下雨\n");
      }
      
      return
}

就是要努力呀 发表于 2020-3-13 12:18:04

2509561940 发表于 2020-3-13 12:13
全部改好了 你帮我运行调试一下我寻思 char 声明变量没问题啊 是不是我电脑问题 你试试
#include
in ...

int main(void)

就是要努力呀 发表于 2020-3-13 12:20:16

你这个代码从开头错到结尾,好好改正,记一下基础知识。。。{:10_324:}
加油 老铁

major_lyu 发表于 2020-3-13 12:32:21

xbxy是个字符变量,你给它读入字符串当然不行了。
scanf("%c",&xbxy).
后面的ymyk道理相同

bin554385863 发表于 2020-3-13 12:58:48

本帖最后由 bin554385863 于 2020-3-13 12:59 编辑

基础不牢
字符与字符串混淆,
赋值与逻辑等于混淆
页: [1]
查看完整版本: 报错 编译运行 char xbxy,ymyk;这句代码有问题