的數字,我發現這個代碼不明白反轉一些
#include <stdio.h>
#include <math.h>
int rev(int num)
{
if(num < 10)
return num;
else
return (num % 10) * pow(10, (int)log10(num)) + rev(num/10);
}
int main(void)
{
printf("%d\n", rev(12345));
return 0;
}
而且我開始分析它這個遞歸函數,但現在我有一個疑問,這是下面,返回到起點根據我的理解,用(num%10)得到的值應該是(1,2,3,4,5),但是當嘗試手動進行計算時,我沒有得到期望值。
這裏發生了什麼,如果有人向我解釋這個,或者我錯過了什麼?
什麼是「投資者數字」? – Olaf
它應該是相反的順序,不是? rev(12345)= 50000 + rev(1234)= 54000 + rev(123)= ... = 54321. –
請寄出預期的產量和實際產量。 – QuestionC