#include"stdio.h"
int sum(int n){return n&&(sum(n-1)+n)?sum(n-1)+n:0;}
int main(){printf("%d\n",sum(100));return 0;}求教为什么代码有问题
return n == 0 ? 0 : sum(n - 1) + n;
程序运行应该没有报错吧,估计是递归调用计算时间太久,把sum中的100换成10、20什么的还比较快,到27、28就要比较久的时间了。