#include<iostream>using namespace std;void fun(int p,int b=2,int c=3);void fun(int p,int b,int c){p=b*c;}int main(void){ int F; int m=6; int a=2; fun(F,m,a); cout<<F<<","<<"The force is"<<endl; return 0;}
2 回答
TerryLau
TA贡献5条经验 获得超1个赞
因为你用的是值传递,只能改变子函数fun中的p值,而不能改变实参F的值。你可以在fun中输出p检验一下。想要改变实参的值,必须使用引用或者地址传递(指针)。以下是我修改后的代码:----我用的是引用----
#include<iostream>
#include<stdlib.h>
using namespace std;
//void fun(int &p,int &b,int &c); 子函数放在main上面,就可以不用原型声明
void fun(int &p,int &b,int &c) //引用
{
p=b* c;
// cout<<p<<endl;
}
int main(void)
{
int F=0;
int m=6;
int a=2;
fun(F,m,a);
cout<<F<<endl;
system("pause"); // 程序暂停
return 0;
}
- 2 回答
- 0 关注
- 1330 浏览
添加回答
举报
0/150
提交
取消