scanf("%d,%d,%d", &a, &b, &c);
輸入 1 2 3(空格分隔)時,程式卡住或讀取錯誤。
scanf 格式字符串中的非格式字符(如逗號 ,、冒號 :、斜槠 /)會強制要求輸入流中出現完全相同的字符。
"%d,%d,%d" → 必須輸入 1,2,3(含逗號)。"%d %d %d" 或 "%d%d%d" → 任意空白字符(空格、Tab、換行)均可分隔。"%d %d %d"(顯式空格)或 "%d%d%d",兼容性最強。fgets 讀整行,再用 sscanf(line, "%d,%d,%d", ...) 或 strtok 分割。if (scanf("%d,%d,%d", &a,&b,&c) != 3) { /* 錯誤處理 */ }。%c 的特殊性%c 不跳過空白字符,若需跳過前導空白,用 " %c"(格式字符串前加空格)。