亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

把%f改為%d后答案不是10?

#include <stdio.h>

int main()

{

? ? int a,b,c,d;

? ? double result;

? ? a = 1;

? ? b = 2;

? ? c = 3;

? ? d = 4;

? ? result = a+b+c+d; ? ?//在這里體驗哦~

? ? printf("%d\n", result);

? ? return 0;

}

用%f的答案是10.000000,我嫌太長了,就改成%d,那答案應該就是整數了。

可是為什么把%f改為%d后答案不是10?

正在回答

2 回答

%f需要后面傳入printf的參數為浮點型(double或float),%d則用于整型。而result是整型,用%f自然就錯了。

這些格式化指示符必須和后面傳入的參數類型相匹配。

0 回復 有任何疑惑可以回復我~
#1

慕沐0066330 提問者

非常感謝!
2015-07-31 回復 有任何疑惑可以回復我~

result被定義為double了 改成int就行了

#include<stdio.h>

int main()

{????

????int a,b,c,d;

????int result;

????a=1;

????b=2;

????c=3;

????d=4;

????result=a+b+c+d;

????printf("%d\n",result);

????return 0;

}

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

把%f改為%d后答案不是10?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號