2014-03-05 116 views
0

我试图运行这个,并且似乎无法找出为什么它不会运行。先谢谢你。请知道我是新人。当使用电源功能时,float和int的比较

#include <stdio.h> 
#include <math.h> 

int main(void) 
{ 
float IR; 
float invested; 
float time; 

printf("Please enter the following to be calculated:"); 
scanf("Interest rate: %f\n", &IR); 
scanf("Amount invested: %f\n", &invested); 
scanf("Time: %f\n", &time); 

float ans; 
ans = (invested(((float)1+((IR)^(time))))); 

printf("%f", ans); 
} 
+0

'投资'是什么变量或功能? –

+0

如果浮动变量投资。 – Mukul215

+0

要对一个浮点值进行硬编码,只需在'.'后面加上文字,就不需要再进行投射。 '1'是一个整数文字,'1'是一个浮点文字。 – alk

回答

6

^不是功能函数。您需要使用ans = invested * (1 + pow(IR, time));

^是一个按位异或OR XOR

1
scanf("Interest rate: %f\n", &IR); 

您可能希望程序提示您输入字符串“利率:”,然后处理您的输入。这不是这个声明所做的。它实际上预计用户键入“利率:”,然后一个数字。

要提示用户,请使用printf,然后使用scanf

printf("Interest rate:"); 
scanf("%f", &IR);  

您还应该检查返回值scanf以确保输入已成功转换。