第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

局部變量與全局變量的問題

請(qǐng)問,下面的程序中怎么理解?

#include?<stdio.h>
int?x?=1;
????int?fn1(int?x)
????{
????int?y,z;
????z=2;
????y=x+z;
????printf("y=%d\n",y);????????????/*這里為什么會(huì)輸出“y=4”,在上面不是定義了“x=1;”的嗎?應(yīng)該是3啊!雖然我懂下面的調(diào)用函數(shù)中“fn(2)”又定義了x值,但是為什么程序不使用“x=1”計(jì)算呢?*/
????return?0;
????}
????
????int?main()
????{
????????fn1(2);
????????int?y=10;
????????printf("x+y=%d",x+y);???/*這里為什么x值又是按照“x=1”計(jì)算的?*/
????????return?0;
????}

該程序得出的結(jié)果是

y=4

x+y=11

請(qǐng)大神幫忙解答!謝謝!

http://img1.sycdn.imooc.com//55c5aff40001b43713660746.jpg

正在回答

1 回答

在main()函數(shù)中先調(diào)用了fn1(2),所以此時(shí)將實(shí)參傳入,得x=2,這里的x為局部變量,y=2+2=4;

printf("x+y=%d",x+y);???這里用的x為全局變量,所以為10+1=11

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

沐竹雨 提問者

fn1(2)的優(yōu)先級(jí)比較高嗎?所有這類型的函數(shù)和調(diào)用,都是調(diào)用函數(shù)的賦值的優(yōu)先級(jí)高嗎?
2015-08-08 回復(fù) 有任何疑惑可以回復(fù)我~
#2

昨夜小樓泣東風(fēng) 回復(fù) 沐竹雨 提問者

你理解錯(cuò)啦,調(diào)用函數(shù)時(shí),參數(shù)是唯一進(jìn)入函數(shù)內(nèi)的接口。fn1(2)中的2 為實(shí)參,而fn1(int x)中的x為形參,實(shí)參與形參相對(duì)應(yīng)。因此傳入的值為2。
2015-08-08 回復(fù) 有任何疑惑可以回復(fù)我~
#3

沐竹雨 提問者 回復(fù) 昨夜小樓泣東風(fēng)

忘了前面的概念!謝謝!懂了!
2015-08-08 回復(fù) 有任何疑惑可以回復(fù)我~
#4

小玖so 回復(fù) 昨夜小樓泣東風(fēng)

形參跟實(shí)參不是太明確,我想問問,這里fn1(2)只調(diào)用一次形參嘛?
2015-08-24 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

舉報(bào)

0/150
提交
取消
C語言入門
  • 參與學(xué)習(xí)       926892    人
  • 解答問題       21419    個(gè)

C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言

進(jìn)入課程

局部變量與全局變量的問題

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)