位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 scanf()函數的數據輸入操作

提問人:劉團圓發(fā)布時間:2020-11-28

(1)輸入多個數據的分隔處理。如果在格式字符串中不包含除了格式指示符之外的普通字符,則在輸入多個數據時,可以使用空格隔開,或者按Tab鍵分開,或者按Enters隔開。例如:

    scanf ("%d%d",&a,&b);

    假設要給a輸入12,給b輸入24,則正確的輸入操作為: 12口24/

    或者: 12/

           24/

    或者: 12 24/ (輸入12后,按下Tab鍵)。

(2)當“格式字符串”中出現普通字符,務必原樣輸入。例如:

    scanf("%d,%d",&a,&b);

    假設給a輸入12,給b輸入24,正確的輸入操作為: 12, 24/

(3)當scanfO函數中的格式字符串中出現轉義字符(如\n ),系統(tǒng)并不把它當轉義字符來解釋,從而產生一個控制操作,將其視為普通字符,所以也要原樣輸入。例如:

    scanf("a=%d.b=%d\n",&a.&b);

假設給a輸入12,給b輸入24,正確的輸入操作為:

    a*12, b=24\n/

(4)輸入數據時,遇到以下情況,系統(tǒng)認為該數據輸入結束:

①遇到空格,或者按Enters,或者按Tab鍵。

②遇到輸入域寬度結束。例如“%3d”,只取3列。

③遇到非法輸入。如在輸入數值數據時,遇到字母等非數值符號(數值符號僅由數字字符0~9、小數點和正負號構成)。例如:

int a,b;

scanf ("%d",&a);

printf("a=%d\n",a,b);

程序執(zhí)行時,當輸入:

    123a5/

則輸出:

    a=123, b=-858993460

系統(tǒng)為變量a讀取數據時,當讀取了 “123”,其后面是字符“a”,這不是一個合法的數值字符, 所以認為本次輸入結束。

(5)使用格式說明符“%c”輸入單個字符時,空格和轉義字符均作為有效字符被輸入。例如:

    scanf("%c%c%c".&cl,&c2,&c3);

    printf ( "chl-%c #ch2~%c ,ch3—%c\n".chl,ch2 ,ch3);

    程序執(zhí)行時,若輸入ACDBCIC/,則系統(tǒng)將字母‘A’賦值給c1,空格賦值給c2,字母‘B’賦值給c3。

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部