为什么编译正确,运行的函数结果是错误的呢?

img


为什么编译正确了,反而运行函数结果出错了?我感觉写的也没有问题啊?怎么就错了呢?

因为你scanf取的值时将输入的数改变了,建议用C++

#include <iostream>
#include<math.h>
using namespace std;
int main()
{
    float a,b,c;
//    scanf("%.1f,%.1f",&a,&b);
//    cout<<a<<'\n'<<b<<'\n';
    cin>>a>>b;
    c = sqrt(a*b)+log(a+b)+exp(b);
    cout<<c;
    return 0;
}

img


如有用请采纳

你把你的中间数据都输出一下,然后看哪里的数据有问题就可以解决了

把scanf语句改成cin>>a>>x;就行了

添加打印语句打印输入的值,简单明了