问个事
  • 板块灌水区
  • 楼主xiaoyh
  • 当前回复7
  • 已保存回复7
  • 发布时间2022/12/18 17:51
  • 上次更新2023/10/24 07:17:56
查看原帖
问个事
628970
xiaoyh楼主2022/12/18 17:51

这道入门巨水题的时候,发现了个事:

#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是没法用的?

2022/12/18 17:51
加载中...