亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么這個程序在運行后顯示的結果為0???

為什么這個程序在運行后顯示的結果為0???

C++
qq_ChrisDuke_0 2015-10-31 14:54:40
#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;

}


查看完整回答
反對 回復 2015-10-31
  • 2 回答
  • 0 關注
  • 1412 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號