當前位置:首頁 » 編程語言 » c語言scanf要加地址符嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言scanf要加地址符嗎

發布時間: 2023-02-18 10:26:21

c語言 scanf();為什麼要用取地址符

scanf(「格式控制字元串」, 地址表列);
其中,格式控制字元串的作用與printf函數相同,但不能顯示非格式字元串,也就是不能顯示提示字元串。地址表列中給出各變數的地址。地址是由地址運算符「&」後跟變數名組成的。

例如:&a、&b分別表示變數a和變數b的地址。

這個地址就是編譯系統在內存中給a、b變數分配的地址。在C語言中,使用了地址這個概念,這是與其它語言不同的。 應該把變數的值和變數的地址這兩個不同的概念區別開來。變數的地址是C編譯系統分配的,用戶不必關心具體的地址是多少。

變數的地址和變數值的關系
在賦值表達式中給變數賦值,如:
a=567;
則,a為變數名,567是變數的值,&a是變數a的地址。

但在賦值號左邊是變數名,不能寫地址,而scanf函數在本質上也是給變數賦值,但要求寫變數的地址,如&a。這兩者在形式上是不同的。&是一個取地址運算符,&a是一個表達式,其功能是求變數的地址。