那几乎只剩下递归这一个程序结构了。
def sln(n):
tol = n
if n > 0:
tol += sln(n-1)
return tol
当然因为 Python 语法的限制(+=
返回值为 None,不像 C/C++ 返回值为左值),结构没有 C++ 的实现来得精巧。
int sln(int n) {
int sum = n;
bool flag = (n>0) && (sum += sln(n-1));
// 如果不定义变量,(n>0) && (sum += sln(n-1));
return sum;
}
flag
变量虽然未被使用,但仍有意义:
- 如果 n>0 为假,直接退出,不必执行后边的判断;
- 如果 n>=0为真,则一定要执行后边的判断,
妙就妙在语义判断,本身也包含着一条语句的执行(加法)。
1. 总结
C 语言的全部程序逻辑(无外乎这些):
- for、while:循环
- if、else、switch、case:分支
- 条件判断语句(A?B:C);
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步