#include <stdio.h>
int main(void)
{
int n=0;
char string[3];
printf("Please input:\n");
scanf("%c ",&string[0]);
/*%c後面有空白*/
scanf("%c",&string[1]);
for(n=0;n<3;n++){
printf("(%d)%c ",n,string[n]);
}
system("PAUSE");
return 0;
}
跑這個程式,兩行scanf()的效果等於scanf("%c %c")
程式會把stdin的資料暫存起來,直到另一段程式碼向它要求input
如果中間加上另一格式的輸入呢?
程式碼參:
#include <stdio.h>
int main(void)
{
int n=0,a;
char string[3];
printf("Please input:\n");
scanf("%c ",&string[0]);
scanf("%d",&a);
/*抓interger*/
scanf("%c %c",&string[1],&string[2]);
for(n=0;n<3;n++){
printf("(%d)%c ",n,string[n]);
}
printf(" a:%d",a);
system("PAUSE");
return 0;
}
Case1:
- 輸入:a_c_12
- 輸出:(0)a (1)c (2)1 a:1628696576
- 輸入:a_12_c
- 輸出:(0)a (1) (2)c a:12
- 輸入:12_a_c
- 輸出:(0)1 (1) (2)a a:2
沒有留言:
張貼留言