我是个汉子 发表于 2018-10-20 20:11:58

求助!!!为什么y不赋值??

#include <stdio.h>
void main()
{
        int x, y ;
        scanf("%d", &x);

        if(x < 0)
        {
                y = -1;
        }

        if(x = 0)
        {
                y = 0;

        }
       
        if(x > 0)
        {
                y = 1;       
        }
       
        printf("%d\n", y);
}

塔利班 发表于 2018-10-20 20:15:20

因为你的if里的所有条件y肯定满足一个,而且都是y赋值所以赋值成功

几番离愁 发表于 2018-10-20 20:19:01

y是用判断x是正负或零

claws0n 发表于 2018-10-20 20:19:07

y 的赋值是由 x 来决定的,就这个程序是这样设计。至于为什么要这样设计……我也不知道{:10_250:}

迷雾少年 发表于 2018-10-20 20:25:07

符号函数

我是个汉子 发表于 2018-10-20 20:26:52

塔利班 发表于 2018-10-20 20:15
因为你的if里的所有条件y肯定满足一个,而且都是y赋值所以赋值成功

??没太明白。我输入一个值,输出的Y是一堆乱码 ,调试时我看见直接跳过了Y

塔利班 发表于 2018-10-20 20:28:29

我是个汉子 发表于 2018-10-20 20:26
??没太明白。我输入一个值,输出的Y是一堆乱码 ,调试时我看见直接跳过了Y

什么乱码,发出来

我是个汉子 发表于 2018-10-20 20:30:52

claws0n 发表于 2018-10-20 20:19
y 的赋值是由 x 来决定的,就这个程序是这样设计。至于为什么要这样设计……我也不知道

那我这样写不行吗?用三个独立的if语句

冰与火之歌 发表于 2018-10-20 20:33:42

第二个if里应该是x==0

claws0n 发表于 2018-10-20 20:34:34

本帖最后由 claws0n 于 2018-10-20 20:35 编辑

我是个汉子 发表于 2018-10-20 20:30
那我这样写不行吗?用三个独立的if语句

可以,你的乱码现象,也许是不合法的输入?
可以初始化,解决int x = 0, y;
if 判断可以用if(x < 0)
{
   y = -1;
}
else if(x == 0)
{
   y = 0;
}
else
{
   y = 1;      
}

我是个汉子 发表于 2018-10-20 20:36:54

claws0n 发表于 2018-10-20 20:34
可以,你的乱码现象,也许是不合法的输入?
可以初始化,解决
if 判断可以用

{:10_292:}但是要求是3个独立的if语句,是不是做不到

claws0n 发表于 2018-10-20 20:43:47

我是个汉子 发表于 2018-10-20 20:36
但是要求是3个独立的if语句,是不是做不到

你那样写就对了,第二个小错误 if(x == 0)

我是个汉子 发表于 2018-10-20 20:50:42

塔利班 发表于 2018-10-20 20:28
什么乱码,发出来

我找到错误了,打扰了{:10_262:}

塔利班 发表于 2018-10-20 20:51:13

我是个汉子 发表于 2018-10-20 20:50
我找到错误了,打扰了

恩,好的,哈哈{:10_254:}

我是个汉子 发表于 2018-10-20 20:51:16

claws0n 发表于 2018-10-20 20:43
你那样写就对了,第二个小错误 if(x == 0)

了解

第五 发表于 2018-10-22 00:05:24

路过
页: [1]
查看完整版本: 求助!!!为什么y不赋值??