1)scanf("a=%d,b=%d",&a,&b);
一定要記住是以第一部分的格式在終端輸入數據。
在黑色屏幕上面輸入的為a=12,b=34才可以把12和34正確給a和b。有一點不同也不行。
2)scanf("%d,%d",x,y);
這種寫法絕對錯誤,scanf的第二個部分一定要是地址!
scanf("%d,%d",&x,&y);
注意寫成這樣才可以!
3)特別注意指針在scanf的考察
例如:
int x=2;
int *p;
p=&x;
scanf("%d",x);錯誤
scanf ("%d",&p);錯誤
scanf("%d",p);正確
scanf("%d",*p);錯誤
4)指定輸入的長度(考試重點)
終端輸入:1234567
scanf ("%2d%4d%d",&x,&y,&z); x為12,y為3456,z為7
終端輸入:1 234567
由于1和2中間有空格,所以只有1位給x
scanf("%2d%4d%d"&x,&y,&z); x為1,y為2345,z為67
5)字符和整型是近親:
int x=97;
printf ("%d",x);
printf("%c",x);
結果為97
結果為 a
6)輸入時候字符和整數的區別(考試超級重點)
scanf("%d",&x); 這個時候輸入1,特別注意表示的是整數1
scanf("%c",&x); 這個時候輸入1,特別注意表示的是字符‘1’ASCII為整數49
補充說明:
1)scanf函數的格式考察:
注意該函數的第二個部分是&a這樣的地址,不是a;
scanf("%d%d%*d%d",&a,&b,&c);?跳過輸入的第三個數據。
2)putchar,getchar 函數的考查:
char a = getchar()是沒有參數的,從鍵盤得到你輸入的一個字符給變量a。
putchar(‘y’)把字符y輸出到屏幕中。
3)如何實現兩個變量x,y中數值的互換(要求背下來)
不可以把x=y,y=x;要用中間變量 t=x; x=y; y=t;