切这道入门巨水题的时候,发现了个事:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long r;
double pi=3.14,ans,rr;
cin>>r;
rr=r*1.0;
ans=pi/3*4*(rr*rr*rr);
printf("%.5lf",&ans);
return 0;
}
看起来没啥问题
然后测试一下:
输入
5
输出
0.00000
?????
这个时候,我把上方代码注释所在的位置,去掉了取地址符:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long r;
double pi=3.14,ans,rr;
cin>>r;
rr=r*1.0;
ans=pi/3*4*(rr*rr*rr);
printf("%.5lf",ans);
return 0;
}
突然就AC了?
所以这个取地址符在printf是没法用的?