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

来源:5-14 综合练习

君哥学野

2016-07-18 17:28

#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回答

  • 西阁王
    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-22 11:03:31

    共 1 条回复 >

  • 西阁王
    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是用来输出字符串的

    君哥学野

    嗯,您的建议很好,以后会注意的。 另外,已经改过您所说的错误了,仍无法运行呢,这怎么办? 还是显示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 15:45:58

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926220 学习 · 20797 问题

查看课程

相似问题