C语言小白,读入“()”(括号)的问题

下面这段代码想要读取一个带有括号的四则运算式子,但读取括号的时候有问题。inti,n,k,k1=0,k2=0;chart;chara[100];doubleb[100];... 下面这段代码想要读取一个带有括号的四则运算式子,但读取括号的时候有问题。

int i,n,k,k1=0,k2=0;
char t;
char a[100];
double b[100];

printf("来,把你的算式告诉我~(等号不用加喔) :\n");
while(1){
t=getchar();
if(t=='\n') break;
else if(t>='0'&&t<='9'){
ungetc(t,stdin);
scanf("%lf",&b[k2]);
k2++;
}
else{
a[k1]=t;
k1++;
}
}

我调试的时候输入8*(5-3)+2,a和b两个数组的读取如图(b数组最后那串没赋初值,请无视。。。)
读“(”的时候是\243\250,读入“)”的时候是\243\251,
看不懂这是啥意思。。。

麻烦大神解释一下
展开
 我来答
神一般的圣人
2015-10-17 · TA获得超过1975个赞
知道小有建树答主
回答量:1091
采纳率:0%
帮助的人:466万
展开全部
如果在scanf中打换行符,则会直接读取下一个,应该弄一个循环取消栈中的换行符
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式