原題是:求 1 + 2 + 3 + ... + n
要求:不能用乘除法,不能用if,while, switch,case, 不能用(a < b ? a : b)三目運算符
關鍵點:利用&&運算的短路性質以及遞歸
關鍵代碼:
int fun3(int n, int *sum)
{
int ret;
ret = n&&fun3(n-1, sum);
return (*sum += n);
}
如果大家有好的思路歡迎交流!一起學習一起進步!
原題是:求 1 + 2 + 3 + ... + n
要求:不能用乘除法,不能用if,while, switch,case, 不能用(a < b ? a : b)三目運算符
關鍵點:利用&&運算的短路性質以及遞歸
關鍵代碼:
int fun3(int n, int *sum)
{
int ret;
ret = n&&fun3(n-1, sum);
return (*sum += n);
}
如果大家有好的思路歡迎交流!一起學習一起進步!