c语言做的简单计算器有问题;
现在只是测试阶段我想问问这段代码有什么问题:(为什么一运行输入后就无响应)
各位看看哪里可以改一下
#include <stdio.h>
int main()
{
char ch[20];
int j,i,a[40],num[21];
for(i=1;i<10;++i)
{
scanf("%d",&num[i]);
if(getchar()=='.')
{
a[i*2-1] = '.';
break;
}
else
scanf("%c",&a[i*2-1]);
scanf("%c",&ch[i]);
scanf("%c",&a[i*2]);
}
for(i=1;;i++)
{
if(a[i*2] == '(')
{
switch(ch[i+1])
{
case '+':
{
num[i+1] += num[i+2];
ch[i+1] = '+';
num[i+2] = 0;
}
case '-':
{
num[i+1] -= num[i+2];
ch[i+1] = '+';
num[i+2] = 0;
}
}
}
if(a[i*2-1] == '.')
break;
}
for(j=0;j<20;j++)
{
for(i=1;;i++)
{
if(a[i*2-1] == '.')
break;
switch(ch[i])
{
case '+':
{
num[i] += num[i+1];
ch[i+1] = '+';
num[i+1] = 0;
}
case '-':
{
num[i] -= num[i+1];
ch[i+1] = '+';
num[i+1] = 0;
}
}
}
}
printf("%d",num[1]);
return 0;
}