#include
int main() {
int c; // 必須用 int 接收 EOF
while ((c = getchar()) != EOF) { // Ctrl+D (Linux/Mac) / Ctrl+Z (Windows) 結束
putchar(c); // 原樣輸出
}
return 0;
}
#include
#include
int main() {
int c, sum = 0, num = 0, in_num = 0;
while ((c = getchar()) != EOF) {
if (isdigit(c)) {
num = num * 10 + (c - '0');
in_num = 1;
} else {
if (in_num) { sum += num; num = 0; in_num = 0; }
if (c == '\n') {
printf("%d\n", sum);
sum = 0;
}
// 空格、Tab 等直接忽略
}
}
// 檔案結尾若無換行,補印最後一行
if (in_num) { sum += num; printf("%d\n", sum); }
return 0;
}
結論:`getchar()` 逐字元讀取,配合狀態機解析格式化輸入。