回覆列表
  • 1 # 使用者2069460986578

    scanf 的意思是把輸入的值給送到地址,因此,如果引數已經是地址了,那麼不需要 &,否則 需要用&取一下地址

    scanf 格式輸入函式

    函式作用:按照變數在記憶體的地址將變數值存進去。

    一般格式:scanf(格式控制,地址表列)

    其中,格式控制:

    %d:以帶符號的十進位制形式輸出整數

    %o:以八進位制無符號形式輸出整數

    %x:以十六進位制無符號形式輸出整數

    %u:以無符號十進位制形式輸出整數

    %c:以字元形式輸出,只輸出一個字元

    %s:輸出字串

    %f:以小數形式輸出單,雙精度數,隱含輸出六位小數

    %e:以指數形式輸出實數

    %g:選用%f或%e格式中輸出寬度較短的一種格式,不輸

    出無意義的0

    在格式控制的字母前面可以用幾種常見的格式符的修飾符,作用如下:

    L:用於長整型整數,可加在格式符d,o,x,u前面

    M(代表一個正整數):資料最小寬度

    N(代表一個正整數):對實數,表示輸出n位小數;

    對字串,表示擷取的字元個數

    地址列表:是由若干個地址組成的表列,可以是變數的地址,或字串的首地址

    舉例:

    用scanf函式輸入資料。

    #include

    void main()

    {

    int a,b,c;

    scanf(“%d%d%d”,&a,&b,&c);

    printf(“%d,%d,%d\n”,a,b,c);

    }

    執行情況:3 4 5 (回車) (輸入a,b,c的值)3,4,5 (輸出a,b,c的值)

    使用scanf函式時應注意的問題 :

    (1)scanf函式中的“格式控制”後面應當是變數地址,而不應

    是變數名。

    (2) 如果在“格式控制”字串中除了格式說明以外還有其他字元,

    則在輸入資料時在對應位置應輸入與這些字元相同的字元。

    (3) 在用“%c”格式輸入字元時,空格字元和“跳脫字元”都作為

    有效字元輸入

    (4) 在輸入資料時,遇以下情況時認為該資料結束。

    ① 遇空格,或按“回車”或“跳格”(Tab)鍵;

    ② 按指定的寬度結束,如“%3d”,只取3列;

  • 中秋節和大豐收的關聯?
  • 海賊王最強之敵Z的片頭曲叫什麼名字?