作者com5566 (com5566)
看板C_and_CPP
標題[問題] 不知道為什麼迴圈不停
時間Sun Mar 15 19:34:19 2009
如題,
附上程式碼,我看了很多次,似乎沒有問題
#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
1F:推 BSpowerx:int沒辦法接受#這種東西吧… 03/15 19:36
2F:推 varg:%c 03/15 19:40
3F:→ com5566:問題是沒辦法給兩種型態,我又不想用物件多重....很不熟 03/15 19:44
4F:推 hylkevin:何謂物件多重? 03/15 19:46
5F:→ com5566:就依輸入參數,決定要用哪個函數...... 03/15 19:48
6F:→ com5566:所以有沒有別種方法呢? 03/15 19:49
7F:推 varg:用char array去抓再轉成int就好啦 03/15 19:49
8F:→ com5566:我試試 03/15 19:52
9F:推 legnaleurc:C也不支援overload吧? 03/15 20:16
10F:推 christianSK:我猜是跟我修同一門課的同學 03/15 22:09
11F:→ christianSK:我是這樣做的 用一個字串去抓輸入元 在轉成整數 03/15 22:10