回覆列表
  • 1 # 年輪978865

    在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。

    如輸入的資料與輸出的型別不一致時,雖然編譯能夠透過,但結果將不正確。

  • 中秋節和大豐收的關聯?
  • 冬天羊出汗是什麼毛病?