下面是引用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(); }