下面是引用karen7710于2007-06-26 19:06发表的 : 为什么我打的这个程式出来的答案是5110?
#include <stdio.h> #include <stdlib.h> int addsum(int); int main(void) { int i,sum; //<---应该是你这没给初值,记住这里的sum跟addsum里的sum不一样 for(i=1;i<=100;i++) addsum(i); printf("%d\n",addsum(sum)); //<-你这里多加了一个sum ,最后你要印出来你就把这里改成addsum(0) system("pause"); return 0; } int addsum(int i) { static int Sum = 0; Sum = Sum + i; return Sum; }
#include <stdio.h> #include <iostream> #include <stdlib.h> #include <conio.h> #include <string> using namespace std ; int addsum(int x, int y){ static int sum; static int count; if(x<=y){ sum=sum+x; count++; addsum(count,y); } else{ printf("加总为: %d",sum); } } main (){ addsum(1,100); getch(); }