我試圖為物理力實驗構建一個簡單的計算器。
//
// main.c
#include <stdio.h>
int main() {
char name[20];
int month,date;
int difference_percentage1, difference_percentage2, difference_percentage3;
double force1, force2, force3;
scanf("%s", name);
scanf("%d %d", &month, &date);
scanf("%lf %lf %lf", &force1, &force2, &force3);
double Favg=(force1 force2 force3)/3.000;
puts(name);
difference_percentage1=100*(force1-Favg)/Favg;
difference_percentage2=100*(force2-Favg)/Favg;
difference_percentage3=100*(force3-Favg)/Favg;
printf("%d %d %d\n", difference_percentage1, difference_percentage2, difference_percentage3);
getchar();
return 0;
}
計算與我輸入的不匹配scanf()。
uj5u.com熱心網友回復:
%f 的 % 標記的 o 在我看來比 %d 大一些,所以我的猜測是你使用了錯誤的 % 來表示編譯器無法識別的 %f 格式說明符;它將雙精度值解釋為 int。
編輯:發布文本而不是代碼截圖的另一個理由!(o;
Edit2:是的,您在 %f 中的 % 標記實際上是十六進制的“EF BC 85”,但應該是“25”
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/516685.html
標籤:C
