#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个单词