为了账号安全,请及时绑定邮箱和手机立即绑定

第五章最后的综合练习,请各位大神看一下,出问题了,该怎么处理,跪谢

#include <stdio.h>

int main()

{

    int morning()

    {

        static int morningmile = 12;

        float morningpay;

        morningpay = 13 + (morningmile - 3)*2.3 + 1;

        printf("小明早上打车费用为%d/n", morningpay);

        return morningpay;

    }

    

    int afternoon()

    {

        extern int y;

        int afternoonmile = y;

        float afternoonpay;

        afternoonpay = 13 + (afternoonmile - 3)*2.3 + 1;

        printf("小明早上打车费用为%d/n", afternoonpay);

        return afternoonpay;

    }

    int y = 12;

    auto float allpay;

    allpay = morningpay + afternoonpay;

    printf("小明每天打车费用为%s/n", allpay);

    return 0;

}

界面好像是说allpay = morningpay + afternoonpay;这一步出现了问题,该怎么改呢?

谢谢!

正在回答

2 回答

上次没太认真看,有些问题没注意到,这次我自己运行了一下,说说其他问题~

首先morning()与afternoon()两个函数应该在main()函数外侧定义,而不是在main()函数里面定义,c语言有这个要求。而且int y=12这句话也要放到main()函数的外边。

之后那两个函数的返回值morningpay与afternoonpay都是float型,所以定义morning()与afternoon()两个函数时要用float morning()与float afternoon(),而不是int morning()与int afternoon()。

最后是allpay = morningpay + afternoonpay这句话,morningpay与afternoonpay这两个变量是分别定义在morning()与afternoon()内的局部变量,是不能在这两个函数外部用的,你可以把这句话改成allpay = morning() + afternoon(),因为morning()与afternoon()的返回值分别是morningpay与afternoonpay。


0 回复 有任何疑惑可以回复我~
#1

君哥学野 提问者

谢谢您指正!谢谢!
2016-07-22 回复 有任何疑惑可以回复我~

呃,首先建议你变量名不要设计的那么复杂。

“printf("小明早上打车费用为%d/n", morningpay);”与“ printf("小明早上打车费用为%d/n", afternoonpay);”这两句话中不应该是%d,而应该是%f,因为%d是用来输出整数的,%f才是用来输出实数的。 

“printf("小明每天打车费用为%s/n", allpay);”这句话中也应该是%f,而不是%s,%s是用来输出字符串的

0 回复 有任何疑惑可以回复我~
#1

君哥学野 提问者

嗯,您的建议很好,以后会注意的。 另外,已经改过您所说的错误了,仍无法运行呢,这怎么办? 还是显示allpay = morningpay + afternoonpay;有问题, [Error] C:\Users\Administrator\AppData\Roaming\C-Free\5.0\samples\CHello.c:27: error: `morningpay' undeclared (first use in this function)
2016-07-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

第五章最后的综合练习,请各位大神看一下,出问题了,该怎么处理,跪谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信