君哥学野
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;这一步出现了问题,该怎么改呢?
谢谢!
上次没太认真看,有些问题没注意到,这次我自己运行了一下,说说其他问题~
首先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。
呃,首先建议你变量名不要设计的那么复杂。
“printf("小明早上打车费用为%d/n", morningpay);”与“ printf("小明早上打车费用为%d/n", afternoonpay);”这两句话中不应该是%d,而应该是%f,因为%d是用来输出整数的,%f才是用来输出实数的。
“printf("小明每天打车费用为%s/n", allpay);”这句话中也应该是%f,而不是%s,%s是用来输出字符串的
C语言入门
926026 学习 · 20793 问题
相似问题