#include <ctype.h>int getch(void);void ungetch(int);/*getop函數:獲取下一個運算數或數值操作數*/int getop(char s[]){int i,c;while((s[0]=c=getch())==' '||c=='\t');s[1]='\0';if(!isdigit(c) && c!='.') /*收集整數部分*/return c;i=0;if(isdigit(c))/*收集小數部分*/while(isdigit(s[++i]=c=getch()));if(c=='.')while(isdigit(s[++i]=c=getch()));s[i]='\0';if(c!=EOF)ungetch(c);return NUMBER;}當 if(isdigit(c))這個條件為真的時候,執行下面的循環語句,但是這個時候c中存放的就是一個數字了。是先付給數組呢?還是要再調用一次這個getch呢啊?我也弄不明白是怎么個執行順序才可以先收集整數部分,在收集小數部分,而且小數點事在那個循環語句當中放到數組當中的呢?求高手給指點。
2 回答
- 2 回答
- 0 關注
- 215 瀏覽
添加回答
舉報
0/150
提交
取消