请问c语言中 返回number有什么意义呢?#define number ‘0’有什么意义呢?0
这是《THE C PROGRAMMING LANGUAGE》这本书里的原题。number就出现在这里,在程序中有个switch语句,我觉得这里边的case number:就只能代表输入为‘0’了。与程序的意思不服哦,因为程序是想代表‘输入的是数字’。请问这个怎么解释呢?
#include
#include //包含atof函数
#include
#define MAXOP 100 //操作数或运算符的最大长度
#define NUMBER '0' //标识找到一个数
int getop(char []);
void push(double);
double pop(void);
//逆波兰计算器
int main(void)
{
int type;
double op2;
char s[MAXOP];
while((type=getop(s))!=EOF){
switch(type){
case NUMBER:
push(atof(s));
break;
case '+':
push(pop()+pop());
break;
case '-':
op2=pop();
push(pop()-op2);
break;
case '*':
push(pop()*pop());
break;
case '/':
op2=pop();
if(op2!=0.0)
push(pop()/op2);
else
printf("error\n");
break;
case '\n':
printf("\t%.8g\n",pop());
break;
default:
printf("error");
break;
}
}
return 0;
}