这个程序运行“找错的地方"一直是“{”,请教怎么改动程序使得括号匹配成功且报错在哪儿也成功

2025-05-24 09:50:20
推荐回答(3个)
回答(1):

你为什么要循环2000次呢?可以在str的后面的会包含你设定的关键字,所以这样可能会出错哦!你就循环字符串的长度那么多次就可以了嘛!把那一段稍微改一下!

cin>>str;
int strlength=strlen(str);//只要循环到字符串长度就可以了
for(i=0;i

回答(2):

match=(m==1&&ch=='}') '}'改为'\}'
||(m==2&&ch==')') '同上
||(m==3&&ch==']');
if(!match)
cout<<"Bad match "<}} '去掉这里的一个大扩号.

反正见到所有}、{、(、)此类的都在前加上 \

回答(3):

原因:主函数没有返回值

可以将主函数返回值改为void(不提倡)
也可以在最后加一句:return 0;