求助!!!为什么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);
} 因为你的if里的所有条件y肯定满足一个,而且都是y赋值所以赋值成功 y是用判断x是正负或零 y 的赋值是由 x 来决定的,就这个程序是这样设计。至于为什么要这样设计……我也不知道{:10_250:} 符号函数 塔利班 发表于 2018-10-20 20:15
因为你的if里的所有条件y肯定满足一个,而且都是y赋值所以赋值成功
??没太明白。我输入一个值,输出的Y是一堆乱码 ,调试时我看见直接跳过了Y 我是个汉子 发表于 2018-10-20 20:26
??没太明白。我输入一个值,输出的Y是一堆乱码 ,调试时我看见直接跳过了Y
什么乱码,发出来 claws0n 发表于 2018-10-20 20:19
y 的赋值是由 x 来决定的,就这个程序是这样设计。至于为什么要这样设计……我也不知道
那我这样写不行吗?用三个独立的if语句 第二个if里应该是x==0 本帖最后由 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;
} claws0n 发表于 2018-10-20 20:34
可以,你的乱码现象,也许是不合法的输入?
可以初始化,解决
if 判断可以用
{:10_292:}但是要求是3个独立的if语句,是不是做不到
我是个汉子 发表于 2018-10-20 20:36
但是要求是3个独立的if语句,是不是做不到
你那样写就对了,第二个小错误 if(x == 0) 塔利班 发表于 2018-10-20 20:28
什么乱码,发出来
我找到错误了,打扰了{:10_262:} 我是个汉子 发表于 2018-10-20 20:50
我找到错误了,打扰了
恩,好的,哈哈{:10_254:} claws0n 发表于 2018-10-20 20:43
你那样写就对了,第二个小错误 if(x == 0)
了解
路过
页:
[1]