2007年3月28日 星期三

scanf(" ") - 貳

程式碼貳:
#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
Case2:
  • 輸入:a_12_c
  • 輸出:(0)a (1) (2)c a:12
Case3:
  • 輸入:12_a_c
  • 輸出:(0)1 (1) (2)a a:2

沒有留言: