在C語言中,逗號和空格是有嚴格區分的。比如在以下例子中,就不難看出逗號與空格的區別了。
【例1】
#include <stdio.h>
int main(void){
char a,b;
printf("input character a,b\n");
scanf("%c%c",&a,&b);
printf("%c%c\n",a,b);
return 0;
}
由於scanf函式"%c%c"中沒有空格,輸入M N,結果輸出只有M。而輸入改為MN時則可輸出MN兩字元。
【例2】
scanf("%c %c",&a,&b);
printf("\n%c%c\n",a,b);
本例表示scanf格式控制串"%c %c"之間有空格時,輸入的資料之間可以有空格間隔。
如果格式控制串中有非格式字元則輸入時也要輸入該非格式字元。
例如:
scanf("%d,%d,%d",&a,&b,&c);
其中用非格式符“ , ”作間隔符,故輸入時應為:5,6,7。又如:
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
則輸入應為:a=5,b=6,c=7。
如輸入的資料與輸出的型別不一致時,雖然編譯能夠透過,但結果將不正確。
在C語言中,逗號和空格是有嚴格區分的。比如在以下例子中,就不難看出逗號與空格的區別了。
【例1】
#include <stdio.h>
int main(void){
char a,b;
printf("input character a,b\n");
scanf("%c%c",&a,&b);
printf("%c%c\n",a,b);
return 0;
}
由於scanf函式"%c%c"中沒有空格,輸入M N,結果輸出只有M。而輸入改為MN時則可輸出MN兩字元。
【例2】
#include <stdio.h>
int main(void){
char a,b;
printf("input character a,b\n");
scanf("%c %c",&a,&b);
printf("\n%c%c\n",a,b);
return 0;
}
本例表示scanf格式控制串"%c %c"之間有空格時,輸入的資料之間可以有空格間隔。
如果格式控制串中有非格式字元則輸入時也要輸入該非格式字元。
例如:
scanf("%d,%d,%d",&a,&b,&c);
其中用非格式符“ , ”作間隔符,故輸入時應為:5,6,7。又如:
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
則輸入應為:a=5,b=6,c=7。
如輸入的資料與輸出的型別不一致時,雖然編譯能夠透過,但結果將不正確。