scanf函式的講解
-
scanf("輸出控制符",&變數) &是一個取地址的符號
# include<stdio.h> int main(void) { int i; printf("請輸入...\n"); scanf("%d",&i); printf("i = %d\n",i); return 0; /* -----------vc++6.0中輸出的結果------------------ 請輸入... 12mmmmmmm i = 12 請輸入... 12 i = 12 請輸入... mmm344343434 i = -858993460 心得: 為什么會出現這樣得結果呢?原來C語言在執行輸入得時候不滿足輸出控制符得資料都不會錄入,所以第二個后面得mmmm就直接省略了, 而如果mmmm在前面得話,系統就會認為你的資料都是錯得,就不會把值賦給變數, ------------------------------------------------ */ } -
scanf("非輸出控制符,輸出控制符",&變數)
# include<stdio.h> int main(void) { int i; printf("請輸入...\n"); scanf(",%d",&i); printf("i = %d\n",i); return 0; /* -----------vc++6.0中輸出的結果------------------ 請輸入... 12 i = -858993460 請輸入... ,2 i = 2 請輸入... 【】3 i = -858993460 心得: 為什么會出現這樣得結果呢? scanf函式中非輸出控制符都要原封不動得輸入,否則就會報錯, ------------------------------------------------ */ } -
在鍵盤上輸入多個變數 scanf("輸出控制符輸出控制符" ,&變數,&變數)
# include<stdio.h> int main(void) { int i,j; printf("請輸入...\n"); scanf("%d,%d",&i,&j); printf("i = %d,j=%d\n",i,j); return 0; /* -----------vc++6.0中輸出的結果------------------ 請輸入... 1,2 i = 1,j=2 請輸入... 12 i = 12,j=-858993460 請輸入... 1;2 i = 1,j=-858993460 心得: 這個和前面講解的是一樣的,任何的非輸出控制符都要在輸入的時候輸入,不然很可能就會進行報錯, 第二個輸入就是沒有在12之間輸入非輸出控制符導致系統將12認為是一個數賦值給了變數i, 而變數j沒有賦值出現垃圾資料 所以說在使用scanf函式的時候不要輕易的添加非輸出控制符,或者在前面給用戶提示怎么輸入資料, ------------------------------------------------ */ }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/43012.html
標籤:C
上一篇:快速批量將B站 BV 號更改為 AV 號 - BTA
下一篇:關于C語言得非法輸入
