看板 C_and_CPP 關於我們 聯絡資訊
如題, 附上程式碼,我看了很多次,似乎沒有問題 #include <stdio.h> #include <stdlib.h> int factorial(int); int main() { int num; do { printf("please input N:"); scanf("%d",&num); if(num<1||num>10) printf("error\n"); else printf("%d\n",factorial(num)); }while(num!='#'); system("PAUSE"); return EXIT_SUCCESS; } int factorial(int n) { if(n==0) return 1; else return n*factorial(n-1); } 很奇怪,我輸入#愈停止時,迴圈不會停,我查過ACII #是35應該沒問題才對阿= = 到底哪錯了呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.212.32
BSpowerx:int沒辦法接受#這種東西吧… 03/15 19:36
varg:%c 03/15 19:40
com5566:問題是沒辦法給兩種型態,我又不想用物件多重....很不熟 03/15 19:44
hylkevin:何謂物件多重? 03/15 19:46
com5566:就依輸入參數,決定要用哪個函數...... 03/15 19:48
com5566:所以有沒有別種方法呢? 03/15 19:49
varg:用char array去抓再轉成int就好啦 03/15 19:49
com5566:我試試 03/15 19:52
legnaleurc:C也不支援overload吧? 03/15 20:16
christianSK:我猜是跟我修同一門課的同學 03/15 22:09
christianSK:我是這樣做的 用一個字串去抓輸入元 在轉成整數 03/15 22:10