填空题 以下程序运行时输出到屏幕的结果中第一行是 1,第二行是 2
#include<iostream.h>
#include<ctype.h>
void compute(char *s)
{
int t,r;
char op;
for(r=0;isdigit(*s);s++) //isdigit(*s)判断s指向的字符是否为数字字符
r=r*10+*s-"0";
while(*s)
{
op=*s++;
for(t=0;isdigit(*s);s++)
t=t*10+*s-"0";
switch(op)
{
case"+":
r=r+t;
break;
case"-":
r=r-t;
break;
case"*":
r=r*t;
break;
case"/":
if(t)
r=r/t;
else
{
cout<<“devide error";
return;
}
}
}
cout<<r<<endl;
}
void main()
{
compute("12+6-19+2");
compute("12/6*19/2");
}
【正确答案】
【答案解析】1、19