改寫為迭代版本的func函數,我們可以使用迴圈而不是遞歸來反序列印一個整數的每一位數字。以下是一個實現示例:
cpp
Copy code
#include <iostream>
void func(int i) {
while (i > 0) {
std::cout << (i % 10) << std::endl; // 列印最後一位數字
i /= 10; // 移除最後一位數字
}
}
int main() {
int n;
// 假定這裏有代碼來初始化 n
func(n);
return 0;
}
這個迭代版本的func函數首先列印出整數i的最後一位數字,然後通過除以10來移除最後一位。它將這個過程重複進行,直到i減小到0為止。如果i是一個非負數,這段代碼將按照從最後一位到第一位的順序列印出i的所有數字。如果你希望它也能處理零和負數,你可能需要添加額外的邏輯來確保函數正確地執行。