为了账号安全,请及时绑定邮箱和手机立即绑定

模仿例题写的到底是哪里不正确了?我还有一个问题是为什么当n<=0时要加return 0;这里的意思是返回值为0吗?那么到最后的return sum时返回的是0?假如我把n改成-1,那么输出的是“0”还是“输出错误”?

#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;
}


正在回答

1 回答

  1. 在你的代码中的第7行printf中的左分号为中文输入状态,需要改成英文输入状态,第16行的右括号也是如此,最后的return 应该是数字0,而不是字母o。还有在运行过程中陷入死循环,如果你把17行的n--与16行对调就能成功运行。

  2. 在使用return时,程序会退出当前函数并返回内容,当n<=0是会返回0,并且退出当前函数不会执行接下来的return sum。如果你把n改为-1,程序运行会输出:

    输入有误

    小明到第-1天一共学习了0个单词

0 回复 有任何疑惑可以回复我~
#1

慕粉5652354 提问者

非常谢谢
2015-10-25 回复 有任何疑惑可以回复我~
#2

51cds 回复 慕粉5652354 提问者

不客气
2015-10-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

模仿例题写的到底是哪里不正确了?我还有一个问题是为什么当n<=0时要加return 0;这里的意思是返回值为0吗?那么到最后的return sum时返回的是0?假如我把n改成-1,那么输出的是“0”还是“输出错误”?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号