銆銆銆銆#include <iostream.h>
銆銆銆銆float temp;
銆銆銆銆float fn1(float r)
銆銆銆銆{
銆銆銆銆銆temp = r*r*3.14;
銆銆銆銆銆return temp;
銆銆銆銆}
銆銆銆銆float& fn2(float r)
銆銆銆銆{
銆銆銆銆銆temp = r*r*3.14;
銆銆銆銆銆return temp;
銆銆銆銆}
銆銆銆銆void main()
銆銆銆銆{
銆銆銆銆銆float a=fn1(5.0); //1
銆銆銆銆銆float& b=fn1(5.0); //2:warning
銆銆銆銆銆float c=fn2(5.0); //3
銆銆銆銆銆float& d=fn2(5.0); //4
銆銆銆銆銆cout<<a<<endl;
銆銆銆銆銆cout<<b<<endl;
銆銆銆銆銆cout<<c<<endl;
銆銆銆銆銆cout<<d<<endl;
銆銆銆銆}
銆銆榪愯緇撴灉涓猴細(xì)
銆銆銆銆78錛?
銆銆銆銆78錛?
銆銆銆銆78錛?
銆銆銆銆78錛?
銆銆瀵逛富鍑芥暟鐨?縐嶅紩鐢ㄨ繑鍥炵殑褰㈠紡錛?紼嬪簭鐨勮繍琛岀粨鏋滄槸涓鏍風(fēng)殑銆備絾鏄畠浠湪鍐呭瓨?shù)腑鐨剫z誨姩鎯呭喌鏄悇涓嶇浉鍚岀殑銆傚叾涓彉閲弔emp鏄叏灞鏁版嵁錛岄┗鐣欏湪鍏ㄥ眬鏁版嵁鍖篸ata銆傚嚱鏁癿ain()銆佸嚱鏁癴nl()鎴栧嚱鏁癴n2()椹葷暀鍦ㄦ爤鍖簊tack銆?br />銆銆絎竴縐嶆儏鍐碉細(xì)瑙佸浘9-5銆?/p>
鍥?-5 榪斿洖鍊兼柟寮忕殑鍐呭瓨甯冨眬
銆銆榪欑鎯呭喌鏄竴鑸殑鍑芥暟榪斿洖鍊兼柟寮忋?榪斿洖鍏ㄥ眬鍙橀噺temp鍊兼椂錛孋++鍒涘緩涓存椂鍙橀噺騫跺皢temp鐨勫?8.5澶嶅埗緇欒涓存椂鍙橀噺銆傝繑鍥炲埌涓誨嚱鏁板悗錛岃祴鍊艱鍙=fnl(5.0)鎶婁復(fù)鏃跺彉閲忕殑鍊?8.5澶嶅埗緇檃銆?br />絎簩縐嶆儏鍐碉細(xì)瑙佸浘9-6銆?/p>
鍥?-6 榪斿洖鍊煎垵濮嬪紩鐢ㄧ殑鎯呭艦
銆銆榪欑鎯呭喌涓嬶紝鍑芥暟fnl()鏄互鍊兼柟寮忚繑鍥炵殑錛岃繑鍥炴椂錛?澶嶅埗temp鐨勫肩粰涓存椂鍙橀噺銆傝繑鍥炲埌涓誨嚱鏁板悗錛屽紩鐢╞浠ヨ涓存椂鍙橀噺鏉ュ垵濮嬪寲錛屼嬌寰梑鎴愪負(fù)璇ヤ復(fù)鏃跺彉閲忕殑鍒悕銆傜敱浜庝復(fù)鏃跺彉閲忕殑浣滅敤鍩熺煭鏆傦紝鎵浠闈復(fù)鏃犳晥鐨勫嵄闄┿?鏍規(guī)嵁C++鏍囧噯錛屼復(fù)鏃跺彉閲忔垨瀵硅薄鐨勭敓鍛芥湡鍦ㄤ竴涓?瀹屾暣鐨勮鍙ヨ〃杈懼紡緇撴潫鍚庝究瀹e憡緇撴潫錛屼篃鍗沖湪“float& b=fnl(5.0)錛?#8221;涔嬪悗錛屼復(fù)鏃跺彉閲忎笉鍐嶅瓨鍦ㄣ?鎵浠ュ紩鐢╞浠ュ悗鐨勫兼槸涓棤娉曠‘瀹氱殑鍊箋侭C瀵笴++鏍囧噯榪涜浜?jiǎn)鎵╁睍锛岃瀹氬鏋滀复鏃跺彉閲忔垨瀵硅薄浣滀负寮曠敤鐨勫垵濮嬪寲鏃跺Q屽垯鍏剁敓鍛芥湡涓庤寮曠敤涓鑷淬?4.7鑺傚皢榪涗竴姝ヤ粙緇嶈繖涓鍐呭銆?榪欐牱鐨勭▼搴忥紝 渚濊禆浜庣紪璇戝櫒鐨勫叿浣撳疄鐜幫紝鎵浠ョЩ妞嶆ф槸宸殑銆?br />銆銆鑻ヨ浠ヨ繑鍥炲煎垵濮嬪寲涓涓紩鐢紝搴旇鍏堝垱寤轟竴涓彉閲忥紝灝嗗嚱鏁拌繑鍥炲艱祴緇欒繖涓彉閲忥紝鐒?鍚庡啀浠ヨ鍙橀噺鏉ュ垵濮嬪寲寮曠敤錛屽氨鍍忎笅闈㈣繖鏍鳳細(xì) 銆銆榪欑鎯呭喌錛屽嚱鏁癴n2()鐨勮繑鍥炲間笉浜х敓鍓湰錛屾墍浠ワ紝 鐩存帴灝嗗彉閲弔emp榪斿洖緇欎富鍑芥暟銆備富鍑芥暟鐨勮祴鍊艱鍙ヤ腑鐨勫乏鍊鹼紝鐩存帴浠庡彉閲弔emp涓緱鍒板鍒訛紝榪欐牱閬垮厤浜?jiǎn)鋸?fù)鏃跺彉閲忕殑浜х敓銆傚綋鍙橀噺temp鏄竴涓敤鎴瘋嚜瀹氫箟鐨勭被鍨嬫椂錛岃繖縐嶆柟寮忕洿鎺ュ甫鏉ヤ簡(jiǎn)紼嬪簭鎵ц鏁堢巼鍜岀┖闂村埄鐢ㄧ殑鍒╃泭銆?br />絎洓縐嶆儏鍐碉細(xì)瑙佸浘9-8銆?/p>
銆銆榪欑鎯呭喌錛?鍑芥暟fn2()榪斿洖涓涓紩鐢紝鍥犳涓嶄駭鐢熶換浣曡繑鍥炲肩殑鍓湰銆傚湪涓誨嚱鏁頒腑錛屼竴涓紩鐢ㄥ0鏄巇鐢ㄨ榪斿洖鍊兼潵鍒濆鍖栵紝浣垮緱d鎴愪負(fù)temp鐨勫埆鍚嶃傜敱浜巘emp鏄叏灞鍙橀噺錛?鎵浠ュ湪d鐨勬湁鏁堟湡鍐卼emp濮嬬粓淇濇寔鏈夋晥銆傝繖鏍峰仛娉曟槸瀹夊叏鐨勩?br />銆銆浣嗘槸錛?濡傛灉榪斿洖涓嶅湪浣滅敤鍩熻寖鍥村唴鐨勫彉閲忔垨瀵硅薄鐨勫紩鐢紝 閭e氨鏈夐棶棰樹(shù)簡(jiǎn)銆傝繖涓庤繑鍥炰竴涓眬閮ㄤ綔鐢ㄥ煙鎸囬拡鐨勬ц川涓鏍蜂弗閲嶃侭C浣滀負(fù)緙栬瘧閿欒錛孷C浣滀負(fù)璀﹀憡錛屾潵鎻愯緙栫▼鑰呮敞鎰忋備緥濡傦紝涓嬮潰鐨勪唬鐮佽繑鍥炰竴涓紩鐢紝鏉ョ粰涓誨嚱鏁扮殑寮曠敤澹版槑鍒濆鍖栵細(xì) 銆銆瑙佸浘9-9璇存槑銆?/p>
銆銆濡傛灉榪斿洖鐨勫紩鐢ㄦ槸浣滀負(fù)涓涓乏鍊艱繘琛岃繍綆楋紝涔熸槸紼嬪簭鍛樻渶鐘繉鐨勩傛墍浠ワ紝濡傛灉紼嬪簭涓湁涓嬮潰鐨勪唬鐮侊紝鍒欎竴瀹氳鍓旈櫎錛?br />銆銆銆銆float& fn2(float r)
銆銆銆銆int x=fnl(5.0)錛?br />銆銆銆銆int& b=x錛?/span>
銆銆絎笁縐嶆儏鍐碉細(xì)瑙佸浘9-7銆?/p>
鍥?—7 榪斿洖寮曠敤鏂瑰紡
鍥?—8 榪斿洖寮曠敤鏂瑰紡鐨勫間綔涓哄紩鐢ㄧ殑鍒濆鍖?/span>
銆銆銆銆float& fn2(float r)
銆銆銆銆{
銆銆銆銆銆float temp錛?br />銆銆銆銆銆temp=r*r*3.14錛?br />銆銆銆銆銆return temp錛?br />銆銆銆銆}
銆銆銆銆void main()
銆銆銆銆{
銆銆銆銆銆float &d=fn2(5.0)錛?//error榪斿洖鐨勫紩鐢ㄦ槸涓眬閮ㄥ彉閲?br />銆銆銆銆}
鍥?-9 榪斿洖鐨勫紩鐢ㄦ槸灞閮ㄥ彉閲?/span>
銆銆銆銆{
銆銆銆銆銆float temp錛?br />銆銆銆銆銆temp=r*r*3.14錛?br />銆銆銆銆銆return temp錛?br />銆銆銆銆}
銆銆銆銆void main()
銆銆銆銆{
銆銆銆銆銆fn2(5.0)=12.4錛?//error榪斿洖鐨勬槸灞閮ㄤ綔鐢ㄥ煙鍐呯殑鍙橀噺
銆銆銆銆}
]]>