C语言的一个简单困惑!

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:09:43
请帮我看下,我错在哪里?不过输入的X的值是多少,都显示是最后一句的printf内的语句。
#include "stdio.h"
main()
{
int x,y;
printf("\n x (-5<x<0)");
printf("\ny={x-1 (x=0)");
printf("\n x+1 (0<x<10)");
printf("\ninput x:");
scanf("/lf",&x);
if(-5<x&&x<10)
{
if(x>-5&&x<0) y=x;
if(x==0) y=(x-1);
if(x>0&&x<10) y=(x+1);
printf("y=%lf",y);
}
else printf("Sorry,please input -5<x<10 number!");
}
sorry,我刚开始的时候用的double,也是不行的。

scanf("/lf",&x);

printf("y=%lf",y);

输入输出的格式控制不对啊!!x为int类型 用%d

scanf("%d",&x);

printf("y=%d",y);

scanf("/lf",&x);
改成scanf("/d",&x);
用整型

int x,y; /*这里定义整形了*/

scanf("/lf",&x); /*写错了应该是%lf,但是你前面定义了整形 所以这里应该是%d*/

printf("y=%lf",y); /*你前面定义了整形 所以这里应该是%d*/

或者开始定义的时候定义浮点~!!!

我改了下 用%d输出没问题