&&的短路功能:即A&&B中,加入A为假,那么B就不会被运算,因此把递归放在B中,而将终止条件放在A中。
代码如下:
#include<stdio.h>
int is_add(int n){
int sum=0;
(n>0)&&(sum=is_add(n-1)); //当前面条件成立时执行后面的条件。后面是一个递归条件。
return n+sum;
}
int main(){
int n;
scanf("%d",&n);
printf("前n项和=%d",is_add(n));
}