慕容9265194
2020-11-08 08:14
#include<stdio.h>
int ageprogram(int n)
{
int age;
if(n==1)
{
return 10;
}
else
{
age=ageprogram(n-1)+2;
}
}
int main()
{
int age;
age=ageprogram(5)
printf(age);
return 0;
}
int ageprogram(int n)函数中,if后的return 10;是不对的,造成的结果是当传递的参数n不等于1时是没有返回值的,只有n=1时返回10;也就是函数把活干了,却没有把结果上报主函数,相当于白写;
在int main()函数中age=ageprogram(5)语句掉了“;”;输出语句printf()错误。
我犯过和你一样的错,第一,int age 你申明了两次。第一次申明后第二次没必要再申明,第二,main 函数里你可以直接printf("第5个人为%d岁”,ageprogram(5));再给age赋值不是画蛇添足吗?
倒数第三行改成: printf("第5个人的年龄是%d岁",age);
倒数三行少了个;
C语言入门
926207 学习 · 20797 问题
相似问题