c语言程序int和float

#include<stdio.h>#include<math.h>intmain(){intx,y;printf("Pleaseenterx:");scanf("%d",... #include <stdio.h>
#include <math.h>
int main()
{
int x, y;
printf("Please enter x: ");
scanf("%d", &x);
if (x < 1)
y = x;
else if (x >= 1 && x <10)
y = 2 * x - 1;
else
y = 3 * x - 11;
printf("y = %d\n", y);
return 0;
}
程序中,如果int改成float,答案就完全不一样,不是小数的问题。
x = 5的时候,y = -925595921........请问下这是因为什么
展开
 我来答
shine1991
科技发烧友

2018-09-09 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
#include <stdio.h>
#include <math.h>
int main()
{
    float x, y;//<==========================
    printf("Please enter x: ");
    scanf("%f", &x);//<==========================
    if (x < 1)
        y = x;
    else if (x >= 1 && x < 10)
        y = 2 * x - 1;
    else
        y = 3 * x - 11;
    printf("y = %f\n", y);//<==========================
    return 0;
}

追问
你看下我补发的图片,y = 0.000000
追答
scanf没改
Polaris北斗
2018-09-09 · TA获得超过3204个赞
知道大有可为答主
回答量:2530
采纳率:79%
帮助的人:821万
展开全部
把int改为float的同时把"%d″要改为"%f",你改了吗?
追问
现在知道了。。。发现问题了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真宝啊D2
2018-09-09 · TA获得超过310个赞
知道小有建树答主
回答量:290
采纳率:0%
帮助的人:51.3万
展开全部
int的范围是-32768 - +32767,int是定点数,没有有效数字的概念
另外是\n,表示\N表示换行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式