2015-07-20 86 views
-2

这可能是一个简单的解决方案,但作为noob我似乎无法找到问题。当我第一次运行程序时,一切都很好,但在scan("%f",hrs)之后,我得到了“细分faul(core dumped)”。任何帮助将不胜感激,谢谢。如果您想得看到完整的代码you can find it here.简单的分段错误,我似乎无法找到问题

这里是我得到的警告:格式“%F”需要类型“浮动*”的说法,但参数2的类型为“双

float grossModule(float *hours, float payrate, float *overtimeHours); 
void CalculateTaxes(float *gross, float *defr, float *fedtax, float *statetax, float *ssitax); 
float calcFedtax(float gross, float defr); 
float calcStatetax(float fedtax); 
float calcSSItax(float gross, float defr); 
float netModule(float *gross, float *ft, float *st, float *ssit); 

int main(void) 
{ 
    float dfr,ft,st,ssit,gross,hrs,pay,net,ovrtHrs; 
    int counter = 0; 
    float netTotal, payTotal, hoursTotal, overtimeTotal, grossTotal, fedTotal, stateTotal, ssiTotal, dfrTotal; 
    float grossAvg, netAvg, payAvg, hoursAvg, overtimeAvg, fedAvg, stateAvg, ssiAvg, dfrAvg; 
    char fName[11], lName[21], ask[4]; 
    FILE * myreport; 
    myreport = fopen("reports.txt","wt"); 

fprintf(myreport, header1); 
fprintf(myreport, header2); 
fprintf(myreport, header3); 

netTotal = payTotal = hoursTotal = overtimeTotal = grossTotal = fedTotal = stateTotal = ssiTotal = dfrTotal = 0; 
dfr = ft = st = ssit = gross = hrs = pay = net = ovrtHrs = 0; 

do 
{ 
    counter++; 
    printf("Please enter your FIRST name: "); 
    scanf("%s",fName); 
    printf("Please enter your LAST name: "); 
    scanf("%s",lName); 
    printf("Enter your payrate: \n"); 
    scanf("%f",pay); 
    printf("Please enter your total hours: "); 
    scanf("%f",hrs); 
    printf("Please enter the amount of deferred earnings: "); 
    scanf("%f",dfr); 

回答

0

变化

scanf("%f",pay); 
printf("Please enter your total hours: "); 
scanf("%f",hrs); 
printf("Please enter the amount of deferred earnings: "); 
scanf("%f",dfr);Change 

scanf("%f", &pay); 
printf("Please enter your total hours: "); 
scanf("%f", &hrs); 
printf("Please enter the amount of deferred earnings: "); 
scanf("%f", &dfr); 

scanf需要变量的地址,而不是它的内容。

顺便说一句,你的编译器应该为此发出警告。

+0

我认为它确实不过是我的小白,我并不完全理解这个警告。谢谢! – Daniel

+0

@Dan你为什么不在你的代码中发布任何警告? –

+0

@MartinJames对不起,下次再来。我仍然习惯这里的工作方式。我将编辑我的帖子并添加警告。 – Daniel

相关问题