一只程序猫 发表于 2020-3-18 10:12:37

哇,哪里出错了

/*
2020年3月18日09:53:26
Aim ot:do dosks
dosk:有一符号函数:y=-1(x<0),y=0(x=0) ,y=-1(x>0),从键盘上输入x的值,输出对应的值
*/
#include <stdio.h>

int main (void)

{
        float x;
        int y;
        printf("请输出x的值:");
        scanf("%f",&x);
        if(x>0)
           y=1;
           else
             if(x=0)
                y=0;
             else
                y=-1;
        printf("x的值为:%.1fy的值为:%d",x,y);
        return 0;
}
/*
出现问题:
输入负数时,x的值为零
输出结果为:
——————————————
请输出x的值:-1
x的值为:0.0y的值为:-1
——————————————
*/

出现问题:
输入负数时,x的值为零

qiuyouzhi 发表于 2020-3-18 10:18:24

x的值为:lf
是lf,不是1f。。

一只程序猫 发表于 2020-3-18 10:21:27

qiuyouzhi 发表于 2020-3-18 10:18
x的值为:lf
是lf,不是1f。。

不是的,我写的是if

chxchxkkk 发表于 2020-3-18 10:23:13

if(x=0) ===》》 if (x == 0)

qiuyouzhi 发表于 2020-3-18 10:23:46

一只程序猫 发表于 2020-3-18 10:21
不是的,我写的是if

我说的是最后一个printf里的。。。。

一只程序猫 发表于 2020-3-18 10:25:11

qiuyouzhi 发表于 2020-3-18 10:23
我说的是最后一个printf里的。。。。

哦哦,那个是只显示一位小数,我试过了取消也一样

一只程序猫 发表于 2020-3-18 10:26:53

chxchxkkk 发表于 2020-3-18 10:23
if(x=0) ===》》 if (x == 0)

谢谢啦,是这里出了问题

墨羽岚 发表于 2020-3-18 10:27:06

本帖最后由 墨羽岚 于 2020-3-18 10:28 编辑

你的(x=0)改成(x==0)!!!
还有那个printf里面应该是要输入一个数而不是输出(估计是你手误了)

lixiangyv 发表于 2020-3-18 10:27:18

这行出错了:

if(x=0)

'='表示赋值,是将左边的变量赋给右面的值,
它的返回值是你赋给的左边的变量的值,你赋的是0,
所以会执行 y=-1;

'==' 才是表示一个变量是否等于某个值,所以代码应该是这样的:
#include <stdio.h>

int main (void)

{
      float x;
      int y;
      printf("请输出x的值:");
      scanf("%f",&x);
      if(x>0)
         y=1;
         else
             if(x==0)
                y=0;
             else
                y=-1;
      printf("x的值为:%.1fy的值为:%d",x,y);
      return 0;
}

一只程序猫 发表于 2020-3-18 10:27:32

qiuyouzhi 发表于 2020-3-18 10:23
我说的是最后一个printf里的。。。。

谢谢你了{:5_109:}

一只程序猫 发表于 2020-3-18 10:30:26

墨羽岚 发表于 2020-3-18 10:27
你的(x=0)改成(x==0)!!!
还有那个printf里面应该是要输入一个数而不是输出(估计是你手误了)

谢谢!!!!

一只程序猫 发表于 2020-3-18 10:31:22

lixiangyv 发表于 2020-3-18 10:27
这行出错了:

if(x=0)


谢谢,犯了一些经验错误,谢谢你

对牛弹琴的三高C 发表于 2020-3-18 11:47:29

chxchxkkk 发表于 2020-3-18 10:23
if(x=0) ===》》 if (x == 0)

哈哈哈,视屏讲到这里特别提醒了会出现这种错误的,我也看了半天没有看出来,高手啊
页: [1]
查看完整版本: 哇,哪里出错了