我正在寫一個C程序來計算用戶輸入的奇數位數。程序C計數奇數位總數
例如,
請輸入號碼:12345個
countOddDigits():3
int countOddDigits(int num);
int main()
{
int number;
printf("Please enter the number: \n");
scanf("%d", &number);
printf("countOddDigits(): %d\n", countOddDigits(number));
return 0;
}
int countOddDigits(int num)
{
int result = 0, n;
while(num != 0){
n = num % 10;
if(n % 2 != 0){
result++;
}
n /= 10;
}
return result;
}
的代碼是行不通的。 有人能告訴我它出錯了嗎?
運行時會發生什麼?請[閱讀關於如何提出好問題](http://stackoverflow.com/help/how-to-ask)。另請Eric Lippert提供[如何調試小程序](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/),並學習如何使用調試器。 –
'n/= 10;'==>'num/= 10;' – WhozCraig
擺脫'n'並簡單地使用'num'來代替。這不像你需要'num'來保持函數結尾的不變,它只會產生混淆。 –