簡體   English   中英

基本的C編程,printf函數

[英]Basic C programming, printf function

while (i) {
    printf("Digit (%d) = %d", d, ((num2/(pow(10,(i-1))))%10));
    d++;
    i--;
}

id是函數中先前聲明的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM