#define ZHENGSHU_3 123
#define GE 1
#define SHI 10
#define BAI 100
#define QIAN 1000
printf("%c 的 ASCII 為 %d", ZHENGSHU_3%QIAN/BAI + '0', ZHENGSHU_3%QIAN/BAI + '0');
printf("%c 的 ASCII 為 %d", ZHENGSHU_3%BAI/SHI + '0', ZHENGSHU_3%BAI/SHI + '0');
printf("%c 的 ASCII 為 %d", ZHENGSHU_3%SHI/GE + '0', ZHENGSHU_3%SHI/GE + '0');
BAI 比 100 自述性強,代碼質量關鍵指標。123→12)且編譯器不報錯;符號常數拼錯會編譯失敗,更易發現。#define 行即可),耦合度低,符合現代軟體工程原則。123 寫代碼如同只會算術不會代數;抽象能力是程式設計核心素養。百位可直除 123/100,個位可直取 123%10,但統一用 %QIAN/BAI、%BAI/SHI、%SHI/GE 形式一致,為後續學習迴圈、函數打基礎,代碼更整潔。
int temp = ZHENGSHU_3;
printf("%c %d", temp%10+'0', temp%10+'0'); temp/=10;
printf("%c %d", temp%10+'0', temp%10+'0'); temp/=10;
printf("%c %d", temp%10+'0', temp%10+'0');
每次只取個位,配合除 10 迭代,易擴展為迴圈處理任意位數。
C 標準規定 '0'..'9' 編碼連續,故 數字 + '0' 即得對應字符編碼,跨平台可移植。
GE/SHI/BAI/QIAN 名稱綁定十進位,若推廣至 N 進位,應改為「各位權值」等通用命名。