gpt4 book ai didi

c - 括号不平衡

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:42 24 4
gpt4 key购买 nike

<分区>

为什么它不打印“Paranthesis are balanced”。每当我传递像“(2+4)”这样的平衡括号时,它就会崩溃。每当我传递像“((3+4()”这样的不平衡括号时,它就会完美运行。这是我的代码。

struct stackADT {
int count;
char data[50];
} s;


bool Is_Equal(char b, char c){
if(b == '(' && c == ')')
return true;

if(b == '{' && c == '}')
return true;


if(b == '[' && c == ']')
return true;

else{
return false;

}
}


bool pop(struct stackADT *s, int *num) {
if (Is_Empty())
return false;
else {
*num = s->data[(s->count) -1];
(s->count)--;
return true;
}
}

int main(void) {
char expression[100];
int i, len;
initialize();
printf("Enter an expression: ");
scanf("%s", &expression);
len = strlen(expression);


for(i = 0; i < len; i++){
if(expression[i] == '(' || expression[i] == '{' || expression[i] == '['){
push(expression[i]);
}
if(expression[i] == ')' || expression[i] == '}' || expression[i] == ']'){

pop(&s,expression[i]);
}
}

if(Is_Equal(pop(&s, expression[i]), expression[i]))
printf("Parenthesis are balanced\n");
else{
printf("Parenthesis are unbalanced\n");
}
return 0;
getch();
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com