问答详情
源自:5-14 综合练习

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

#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;这一步出现了问题,该怎么改呢?

谢谢!

提问者:君哥学野 2016-07-18 17:28

个回答

  • 西阁王
    2016-07-20 16:09:01
    已采纳

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

    首先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。


  • 西阁王
    2016-07-18 18:43:53

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

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

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