1樓:莫霞板申
inta=3,b=5;
/*定義全域性變數,整個檔案作用域有效*/
max(int
a,int
b)/*入參總是a=8,b=5*/
void
main()
2樓:麼秀英天香
a=3,b=5;是全域性變數整個程式中可見,a=8為區域性變數;
區域性變數會在其作用域內遮蔽全域性變數,所以在main函式中a的值是8,b依然取全域性值5。
結果max(a,b)為8
3樓:浦利仍妙旋
如果區域性變數和全域性變數同名,那麼重名的全域性變數將在同名的區域性變數的作用域內隱藏。
4樓:匿名使用者
如果全域性變數和區域性變數重名,區域性變數將覆蓋全域性變數。所以區域性a覆蓋全域性amain內a = 8但是全域性b你沒有重名的,所以,main中b是全域性變數b=5懂?覆蓋的只是重名的,不是全部的,懂?
5樓:匿名使用者
int a=3,b=5; max(int a,int b) void main() (int a=8; printf("%d\n",max(a,b)); } 解答:a=3,b=5是全域性變數。因為最後一個a有賦值8,優先使用內部變數,a=8比b=5大,所以max取8.
6樓:匿名使用者
主函式是執行函式,所以必然執行main()
在main()中,重新定義並且賦值了區域性變數a=8,而max(a,b)求值的時候,a用的是區域性變數,因為它在區域性裡的優先順序大於全域性變數,而b沒有區域性變數,所以用到全域性變數b=5,因此求的是max(8,5)
7樓:匿名使用者
#include int a = 3,b = 5; int max(int a,int b) void main() main()函式中,定義了區域性變數a,所以這裡所有的a都是指區域性變數,全域性變數a在這裡沒有「立足之地」,當變數b則不同,由於在main()中沒有樑歪定義。所以這裡的b指的就是全域性變數b,所以呼叫函式max(a,b)等同於max(8,5)。
c語言問題 區域性變數能不能和全域性變數重名?
8樓:花落へべ若相惜
可以,只不過區域性變數可以覆蓋全域性的,就是在區域性變數的範圍內全域性變數不起作用
9樓:與子如初見
能,區域性會抄遮蔽全域性
。要用襲全域性變數,需要使用 "::" ;
區域性變數bai
可以與全域性變數同名du
,在函zhi數內引用這個變數時,會用到dao同名的區域性變數,而不會用到全域性變數。對於有些
編譯器而言,在同一個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義一個同名的區域性變數,而那
個區域性變數的作用域就在那個迴圈體內。
c語言中區域性變數可以同名麼?
10樓:匿名使用者
在c語言中,來相同作用域範源圍的區域性變bai量不可以同名。所以,du在不同作用域下,zhi可以出現區域性變數同dao名的情況。
1 在不同函式中。
函式不同,區域性變數完全無關,自然可以使用相同的名字。
2 在同一函式中,但作用域不同。
區域性變數的作用域是定義位置,到所在大括號結束。
所以只要兩個區域性變數屬於不同的大括號中,就可以同名。
比如void func()
for(;;)
}這裡面,第一個a的作用域包含了第二個和第三個,而後兩個之間作用域不相關。三個a分別屬於三個不同的大括號,可以同名。
11樓:匿名使用者
這個問題,其實舉例子什麼的都說都涵蓋不清楚。可以通俗的這樣說,在同一作用域內變數是不能重名的,原因很簡單,要是重名了,編譯器也不知道你呼叫的是哪個變數了。
12樓:匿名使用者
按你的語意來bai說,答案是不可du以的.
區域性指的就是
zhi一個域,在dao同一個域內變數內是不可以同名的.在vc++2005之前的版容本中.for迴圈的條件名句是限制在for迴圈內的,不過2010後的vc++版本,在for迴圈條件內申請的變數在迴圈個再次申請了報錯,
13樓:匿名使用者
區域性變數在不同的子函式中可以同名,但是在一個子函式中不能。
14樓:匿名使用者
如果你定義的變數不在同一個函式內,好像可以同名的。
15樓:匿名使用者
可以的啊。區域性變數的生存週期就在函式體內或迴圈體內
16樓:匿名使用者
看你同名的區域性變數的作用域了,如果作用域相同那就不可以了
17樓:匿名使用者
可以同名,例如:
在不同的兩個迴圈內:
for(int i=0; i<5; i++)for(int i=0; i<6; i++)
18樓:尼瑪真響亮
作用範圍不同的可以重名
c語言中全域性變數和區域性變數是一樣的名字有問題嗎?
19樓:老樹枝勾琬
如果內層**塊對外層**塊中的名字進行了重新定義,那麼在這個內層**塊中,外層的名字就被隱藏,
在離開這個內層**塊後,這些名字又再次表示外層的變數。
20樓:
區域性變數的作用域中全域性變數被遮蔽了
不受影響
但是最好起不同的變數名
自己也容易檢查不是嗎
21樓:督秀珍施己
this.temp=temp
不會有問題
各自的作用域不同
但是你要分的清楚才好
不建議使用相同的變數名
c語言中變數的平方怎麼輸入,C語言中變數的平方怎麼輸入
天雲一號 在c 中,變數a的平方可以有2種方式進行輸入 1 直接本身相乘a a 2 用函式pow進行求變數a的平方,即pow a,2 注 函式pow的用法如下 函式格式 double pow double x,double y 功 能 計算x的y次冪 返 回 值 計算結果 當使用pow函式時,需要將...
c語言auto定義變數,關於c語言auto變數和static變數區別
在函式內部定義的變數成為區域性變數。在某些c語言教材中,區域性變數稱為自動變數,這就與使用可選關鍵字aut o定義區域性變數這一作法保持一致。區域性變數僅由其被定義的模組內部的語句所訪問。換言之,區域性變數在自己的 模組之外是不可知的。切記 模組以左花 括號開始,以右花括號結束。對於區域性變數,要了...
c語言變數初始化的方式,C語言中變數的初始化怎麼理解?
全域性變數的初始化 對於不同編譯單位的全域性變數,其初始化的順序沒有任何的保證,因此對不同編譯單位裡的全域性變數,在它們的初始化順序之間建立依賴性都是不明智的。此外也沒辦法捕捉到全域性變數初始化丟擲的異常,一般來說要減少全域性變數的使用,特別是限制那些要求複雜初始化的全域性變數。1,儘量不用全域性變...