我是全新的,以C編程(和一般)和我卡在我的一部分功能。我試圖做錯誤檢查,我不斷收到錯誤錯誤:無效的操作數爲二進制<(有「浮*」和「雙」)
error: invalid operands to binary < (have 'float *' and 'double')
in line 97 and 100. Does this have to do with the kind of number I am using?
粘貼下面是我的全部代碼
#include <stdio.h>
#include <stdlib.h>
// Function Declarations
void getData (float* startAmt, float* intRate, int* numYears, int* startYear);
void calcTaxes (float startAmt, float intRate, int numYears, int startYear, float* endAmt, float* intEarned, float* percentGained, int* finalYear);
void printResults (float startAmy, float intRate, int numYears, int startYear, float endAmt, float intEarned, float percentGained, int finalYear);
int main (void)
{
// Local Declarations
float startAmt;
float intRate;
int numYears;
int startYear;
float endAmt;
float intEarned;
float percentGained;
int finalYear;
// Statements
getData (&startAmt, &intRate, &numYears, &startYear);
calcTaxes (startAmt, intRate, numYears, startYear, &endAmt, &intEarned, &percentGained, &finalYear);
printResults (startAmt, intRate, numYears, startYear, endAmt, intEarned, percentGained, finalYear);
return 0;
}
//~~~~~~~~~~~~~~~ getData ~~~~~~~~~~~~~~~~~~~~
/*
* Function Name: getData
*
* Input Parameters: startAmt, intRate, numYears, startYear
*
* Description: This function reads compound interest data from the keyboard and stores it in the parameters using pointers
*
* Return Value: None
*/
void getData (float* startAmt, float* intRate, int* numYears, int* startYear)
{
// Statements
printf("\nCOP 2220 Project 2: Walter Doherty\n");
printf("\nEnter a Starting amount (dollars and cents): \n");
scanf ("%f", startAmt);
printf("Enter an Interest rate (ex. 2.5 for 2.5%): \n");
scanf ("%f", intRate);
printf("Enter the Number of years (integer number): \n");
scanf ("%d", numYears);
printf("Enter the Starting year (four digits): \n");
scanf ("%d", startYear);
// Validations
if (startAmt < .01)
exit("Starting amount must be at least one cent.\nExiting");
if (intRate < .001)
exit("Interest rate must be at least .1%.\nExiting");
if (numYears < 1)
exit("Number of years must be at least 1.\nExiting");
if (startYear < 999^startYear > 10000)
exit("Year must be four digits\nExiting");
return;
}
我也讓有關我的一切if
聲明警告消息。它說warning: passing argument 1 of 'exit' makes integer from pointer without a cast [enabled by default]
我應該擔心嗎? Code :: Blocks不會將其記錄爲錯誤。 謝謝8)