[問題] 遞迴問題part2...
程式目的:要用遞迴寫出一程式,可以計算像是
+1+*45*23這種算式,其代表1+(4*5+2*3)
在經過各位熱心板友還有版主的指導後,
我寫出以下程式碼
-------------------------------------------
#include<stdio.h>
int F(char str[]); /* 函數宣告*/
int x = 0;
int main(void)
{
char str [100];
int ans;
scanf("s%", str);
ans = F(str);
printf("%d",ans);
return 0;
}
int F( char str[]) /* 函數定義*/
{
if(str[x] == 1) return 1;
if(str[x] == 2) return 2;
if(str[x] == 3) return 3;
if(str[x] == 4) return 4;
if(str[x] == 5) return 5;
if(str[x] == 6) return 6;
if(str[x] == 7) return 7;
if(str[x] == 8) return 8;
if(str[x] == 9) return 9;
else{ if (str[x] == "+") return F(str[x+1])+F(str[x+2]);
if (str[x] == "*") return F(str[x+1])*F(str[x+2]);
}
}
------------------------------------------------------------
進去codeblock跑,有跑出程式,但我試著運算,答案是錯的.....
不知道是哪裡出了問題,我自認矩陣當引數的概念很薄弱,指標
方面也還在努力中(但這題好像不會使用到),不知道是否在這些
方面出了問題
非常感謝大家!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.218.237
→
10/05 15:54, , 1F
10/05 15:54, 1F
→
10/05 15:57, , 2F
10/05 15:57, 2F
→
10/05 15:58, , 3F
10/05 15:58, 3F
推
10/05 16:05, , 4F
10/05 16:05, 4F
推
10/05 16:07, , 5F
10/05 16:07, 5F
→
10/05 16:09, , 6F
10/05 16:09, 6F
→
10/05 16:10, , 7F
10/05 16:10, 7F
推
10/05 16:14, , 8F
10/05 16:14, 8F
→
10/05 16:15, , 9F
10/05 16:15, 9F
→
10/05 16:15, , 10F
10/05 16:15, 10F
→
10/05 16:16, , 11F
10/05 16:16, 11F
→
10/05 17:26, , 12F
10/05 17:26, 12F
討論串 (同標題文章)