5-10中的問(wèn)題,有關(guān)局部變量和全局變量
#include?<stdio.h> int?x?=?77; void?fn1() { ????printf("fn1():?x=%d\n",?x);??????? } int?main() { ????int?x?=?10; ????if(x>0) ????{ ????????int?x?=?100; ????????x?/=?2; ????????printf("if語(yǔ)句內(nèi),?x=%d\n",?x);??????? ????} ????printf("main方法內(nèi),?x=%d\n",?x); ????fn1(); ????return?0; }
這段代碼中fn1()輸出的是77,而不是10.這兩個(gè)是不是都是全局變量??jī)蓚€(gè)的作用范圍是哪里?
2016-02-21
你一共定義了兩個(gè)函數(shù)fn1和main;int x=77在函數(shù)的外部,這個(gè)應(yīng)該是全局變量,所以他的作用范圍是全局
而int x=10和int x=100這兩個(gè)我覺(jué)得都應(yīng)該是局部變量,因?yàn)樗麄冊(cè)诤瘮?shù)內(nèi)部。
還有就是如果一個(gè)函數(shù)內(nèi)部有一個(gè)相同的變量的時(shí)候,函數(shù)內(nèi)的變量?jī)?yōu)先選擇,這里指的也就是局部變量了
2016-02-16
....