好幾個(gè)問題?。?!
為什么:
不加int ,main函數(shù)x輸出50?
去掉x=100,if ,main函數(shù)都輸出5?
去掉int x=10,x=100,if,main,fnl()都輸出38?
x/2可以影響到fnl()?
為什么:
不加int ,main函數(shù)x輸出50?
去掉x=100,if ,main函數(shù)都輸出5?
去掉int x=10,x=100,if,main,fnl()都輸出38?
x/2可以影響到fnl()?
2021-10-07
舉報(bào)
2021-10-31
int x=77;? 標(biāo)為x(1),它是整個(gè)程序的變量,全局變量
int x=10;? 標(biāo)為x(2),這是函數(shù)main() 中的全局變量,也是整個(gè)程序的局部變量
int x=100; 標(biāo)為x(3),這是if語句中的全局變量,這也是整個(gè)程序的局部變量,但級(jí)別比x(2) 還低,被引用的范圍更小。若寫稱 x=100;這就是給x(2)進(jìn)行賦值,也就是說x(2)的值被改成100了,main()函數(shù)中使用x的位置,其值都是100
在main()函數(shù)中,運(yùn)行到
fn1();
時(shí),程序暫時(shí)跳出main()函數(shù),去執(zhí)行自定義函數(shù)fn1(),此時(shí)已經(jīng)跳出了main()函數(shù)的范圍,故x為x(1)的內(nèi)容。
整個(gè)完整的程序中,雖然定義的變量都名為x,但對(duì)于計(jì)算機(jī)而言,是三個(gè)不同的變量,并且使用的范圍也是不一樣的。
int? ?是告訴計(jì)算機(jī)定義新變量的標(biāo)識(shí),同時(shí)確定數(shù)據(jù)類型,類似的還有char,short,long,float,double等。