鱼C论坛

 找回密码
 立即注册
查看: 2635|回复: 2

看视屏的例子出现的问题

[复制链接]
发表于 2012-6-9 23:00:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
#include <math.h>

void main()
{
        double a, b, c, disc,x1,x2,p,q;
        scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
    disc=b*b-4*a*c;
        p=-b/(2*a);
        q=sqrt(disc)/(2*a);
        x1=p+q;
        x2=p-q;
        printf("%lfx*x+%lfy+%lf=0的根为,%lf\n%lf\n",a,b,c,x1,x2);

}
为什么 输出的时候 a和b是溢出还是什么的
还有一个就是
y=(x=(a+b)),(b+c);
这个语句 视屏上说的是 逗号运算把b+c的值赋给y,但是我运行的时候 y一直是x的值 为什么咧
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-6-10 09:41:25 | 显示全部楼层
第一题要按照输入形式输入数据scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);  应该这样输入 QQ截图20120610094031.jpg 第二题因为逗号运算符(,)的优先级低于赋值运算符(=)的优先级,因此他会先将
(x=(a+b))赋给y,再加个括号就可以了:
y=((x=(a+b)),(b+c));

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-6-22 22:05:12 | 显示全部楼层
同意楼上的  还有最后是不要叫return 0啊
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-13 16:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表