輸入一行字符串(長度 ≤ 80),輸出其中所有數字字符(0-9),保持原順序,無數字則輸出空行。
#include <stdio.h>
#include <ctype.h>
int main(void) {
char str[81];
fgets(str, sizeof(str), stdin); // 安全讀取整行
for (int i = 0; str[i]; i++) {
if (isdigit(str[i])) // 標準庫函數判斷數字
putchar(str[i]);
}
putchar('\n');
return 0;
}
fgets 替代危險的 gets,防止緩衝區溢出isdigit()(ctype.h)比手寫 c>='0' && c<='9' 更清晰、可移植putchar 逐字符輸出無需緩衝數組,內存效率高gets:已從 C11 標準移除,極不安全ctype.h 直接用字符比較雖可行但不規範