【发布时间】:2017-09-19 21:02:56
【问题描述】:
我对编程还很陌生,只是找不到输出与所需输出不同的原因。这是我的代码:
#include<stdio.h>
float fallingDistance (int t);
int main () {
int t;
float result=0.0;
printf("t <seconds>\td <meters>\n");
for(t=1;t<=10;t++) {
result = fallingDistance (t);
printf("\t%d\t%.2f\n",t,result);
}
}
float fallingDistance (int t) {
const float Grav = 9.8;
float fallD = 0.5*Grav*(t^2);
return fallD;
}
我的输入是:
t=1
期望的输出:
0.5*9.8*(1^2) = 4.90
实际输出:
0.5*9.8*(3) = 14.70
现在如果 t=1,fallD 应该是 0.5*9.8*(1^2) = 4.90,但输出是 14.70。知道为什么吗?
【问题讨论】:
-
^是异或,不是取幂