當前位置:編程學習大全網 - 編程軟體 - 關於c語言編程。

關於c語言編程。

首先,main、printf和scanf都是function

壹般情況下(沒有&),function的定義就是輸入固定數量的輸入值(可以是0個),function會進行某些計算或者操作,最後有可能返回壹個值。

比如上例中的main,就是0個輸入值,進行壹段操作後,返回壹個整數0。

第壹個printf,就是壹個輸入值:字符串“xxxx”,進行壹段操作(在屏幕上顯示出輸入的字符串),沒有返回值或者返回值沒有被使用。

在這樣的壹般情況下(沒有&),輸入的值,比如change,在function中就是壹個純粹的數值。

比方說,前面那句int change=。。。,計算得到change=30.

那麽,後面那壹句printf("xxx",change),就完全等同於printf("xxx",30)

如果妳使用多線程程序,在printf("xxx",change)的執行過程中,在另壹個線程中改變change的值,比如change=0,這個運行中的printf完全不會受到影響。因為實際調用的是printf("xxx",30),除了調用的那壹刻,要把30從change中解讀出來外,之後就完全與變量change無關了。

同樣的,在printf中,如果有對change進行重新賦值,比如change=20。當這句printf運行完畢,重新回到main中的之後,printf中的那次賦值就會作廢,main中的change依然保持30不變。

使用&的情況下,scanf("%d", &number)與scanf("%d", 0)就不壹樣了。

scanf("%d", &number)所輸入給scanf的,不是number裏面的數值0,而是number這個變量本身。scanf內對number做的任何改變(比如,把鍵盤輸入的數值賦值給number),都作用於main中的number變量本身。其它線程中對number的改變,也會同時作用於scanf中的number

  • 上一篇:贊美天平山的楓葉。
  • 下一篇:請問電話交換機、程控電話交換機和400的IVR系統有什麽不同?
  • copyright 2024編程學習大全網