灵符怎么交易 麻烦详细说明,求高手帮忙
1个回答
展开全部
for(r=0;isdigit(*s);s++) r=r*一0+*s-'0'; 这一段是将字符串中的数字字符提取出来,转换成真正的十进制int型数值。即遇到非数字字符就退出for循环。 while(*s)是用来判断字符串是否结束(遇到'\0')。 循环体内op=*s++;相当于把退出for循环时遇到的运算符(即非数字)提取出来在后面加以判断。 for(t=0;isdigit(*s);s++) t=t*一0+*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{puts("device error");return;} }这一段是把刚才存储的运算符字符加以判断,再把r和t对应的提取数值进行相应的运算。再把运算的结果保存在r中。这里是多次while循环,中间的计算结果都存在r中,把r当作运算符左侧每次运算后的结果,每次都更新r,这样最后一次运算结束时,r就是整个算式的最终结果。 printf("%d\n",r);最后打印r
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询