这份代码在本地输出 −0.0-0.0−0.0。
#include<bits/stdc++.h> using namespace std; double a,b,c,p,ans; int main() { cin>>a>>b>>c; p=(a+b+c)/2; ans=sqrt(p*(p-a)*(p-b)*(p-c)); printf("%.1lf",ans); return 0; }
但换成 cout 就正常,为什么?