[英]Basic C programming, printf function
while (i) {
printf("Digit (%d) = %d", d, ((num2/(pow(10,(i-1))))%10));
d++;
i--;
}
i
和d
是函數中先前聲明的int
值。 我收到的錯誤是“ Operands of '%' have incompatible types 'double' and 'int'.
”
即使擺弄了值,我仍然收到此錯誤消息。
那是因為pow
返回了double
。 您將不得不打字。 將語句更改為:
printf("Digit (%d) = %d", d, ((int)(num2/(pow(10,(i-1))))%10));
除了將分子轉換為int
,還可以調用fmod()
來根據浮點數執行模塊化計算。
printf("Digit (%d) = %lf", d, fmod((num2/(pow(10.0,(i-1)))),10.0));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.