#include <stdio.h>
int word(int n)
{
int sum;
if(n<=0)
{
printf(“输入有误\n");
return 0;
}
else if(n==1)
{
sum=1;
}
else
{
sum=word(n)+n;
n--;
}
return sum;
}
int main()
{
int n=10;
printf("小明到第%d天一共学习了%d个单词",n,word(n));
return o;
}在你的代码中的第7行printf中的左分号为中文输入状态,需要改成英文输入状态,第16行的右括号也是如此,最后的return 应该是数字0,而不是字母o。还有在运行过程中陷入死循环,如果你把17行的n--与16行对调就能成功运行。
在使用return时,程序会退出当前函数并返回内容,当n<=0是会返回0,并且退出当前函数不会执行接下来的return sum。如果你把n改为-1,程序运行会输出:
输入有误
小明到第-1天一共学习了0个单词