松V溪 2022-04-03 12:55 采纳率: 66.7%
浏览 21
已结题

vs软件最后的编译失败

具体代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,t, p, q, o;
scanf_s("%lf,%lf,%lf", &a, &b, &c);
t = b * b - 4 * a * c;
o = sqrt(t);
if (t == 0)
{
q = p = ((-b) + o) / 2 * a;
printf("q=p=%f", &q);
}
else
if (t > 0)
{
q = ((-b) + o) / 2 * a;
p = ((-b) - o) / 2 * a;
printf("q=%f,p=%f", &q, &p);
}
return 0;
}
最后编译的结果却是这样,这是为什么啊?

img

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-04-03 13:42
    关注

    printf("q=p=%f", &q); 输出里,q 前面没有'&' 符号。
    printf("q=%f,p=%f", &q, &p); 这里也是一样的多了 ‘&‘ 符。
    修改见注释处,供参考:

    #include <stdio.h>
    #include <math.h>
    int main()
    {
        float a, b, c, t, p, q, o;
        scanf_s("%f%f%f", &a, &b, &c); //修改
        //scanf_s("%lf,%lf,%lf", &a, &b, &c);
        t = b * b - 4 * a * c;
        if (t >= 0) //修改
        {
            o = (float)sqrt(t);
            if (t == 0)
            {
                q = p = ((-b) + o) / 2 * a;
                printf("q=p=%f", q);    //printf("q=p=%f", &q);//修改
            }
            else if (t > 0){
                    q = ((-b) + o) / 2 * a;
                    p = ((-b) - o) / 2 * a;
                    printf("q=%f,p=%f", q, p);  //printf("q=%f,p=%f", &q, &p);//修改
            }
        }
        else{ //修改
            printf("No real solution");//修改
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 创建了问题 4月3日

悬赏问题

  • ¥15 像这种代码要怎么跑起来?
  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理
  • ¥15 STM32无法向设备写入固件