代码
#include"myStack.h"
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void myPrintErr(char* p,char* str){
if(strlen(str)!=0)
printf("%s\n",str);
int count = p-str;
for(int i=0;i<count;i++){
printf(" ");
}
printf("^\n");
}
int test0(char* str){
int flags=0;
myStackType* st = init_stack();
char* p=str;
for(char* p=str; *p != '\0'; p++){
if(*p == '('){
push_stack(st,p);
}else if(*p == ')'){
if(size_stack(st) <= 0){
printf("failed,missing left\n");
myPrintErr(p,str);
flags++;
break;
}else{
pop_stack(st);
}
}
}
if(flags==0){
if(size_stack(st)==0){
printf("ok\n");
}else {
printf("failed,missing right\n");
while(size_stack(st) != 0){
myPrintErr(top_stack(st),str);
pop_stack(st);
flags++;
}
}
}
destroy_stack(&st);
return flags;
}
int main(){
int errCount = test0("((5+6()/2)(+(4+7)/3()((((((");
if(errCount > 0){
printf("test failed ,err count=%d\n",errCount);
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探