
1.代码#include stdio.h int addTo(int paraN) { int tempSum; printf(entering addTo(%d)\r\n, paraN); if (paraN 0) { printf( return 0\r\n); return 0; } else { tempSum addTo(paraN - 1) paraN; printf( return %d\r\n, tempSum); return tempSum; } } int clearAddTo(int paraN) { if (paraN 0) { return 0; } else { return clearAddTo(paraN - 1) paraN; } } void addToTest() { int n, sum; printf(---- addToTest begins. ----\r\n); n 5; sum addTo(n); printf(\r\n0 adds to %d gets %d.\r\n, n, sum); n 1; sum addTo(n); printf(\r\n0 adds to %d gets %d.\r\n, n, sum); n -1; sum addTo(n); printf(\r\n0 adds to %d gets %d.\r\n, n, sum); printf(---- addToTest ends. ----\r\n); } void main() { addToTest(); }2.运行结果---- addToTest begins. ---- entering addTo(5) entering addTo(4) entering addTo(3) entering addTo(2) entering addTo(1) entering addTo(0) return 0 return 1 return 3 return 6 return 10 return 15 0 adds to 5 gets 15. entering addTo(1) entering addTo(0) return 0 return 1 0 adds to 1 gets 1. entering addTo(-1) return 0 0 adds to -1 gets 0. ---- addToTest ends. ----