#include "cstack.h"
#include <iostream>
#include <cstring>
using namespace std;
bool isValidExpression (CStack&, char*);
int main (void)
{
char expression[21];
expression[0-21]=0;
cout<< "Enter an expression: ";
cin >>expression;
CStack stack1;
if (isValidExpression (stack1, expression)==true)
{
cout << "\nIt's a valid expression";
}
else
{
cout << "\nIt's NOT a valid expression";
}
return 0;
}
bool isValidExpression (CStack& stackA, char* strExp)
{
for(int a=0;a<21 && strExp[a]!=0;a++)
{
if(strExp[a]="}"||"]"||")") //This is the issue right here
{
cout<<"Action A" <<endl;
}
else
{
stackA.push(strExp[a]);
}
}
return true;
}
문제점은 내가 입력 한 모든 것이 항상 발생한다는 것입니다. [예를 들어, 나는 여전히 원하는 결과가 아닌 액션을 얻습니다. 나는 항상 이런 식으로 문자열을 사용했지만 우리는이 프로그램에서 cstring을 사용해야합니다. 이 기능을 편집하려면 어떻게 편집합니까?참조로 전달 된 C 문자열에 대한 입력 유효성 검사
'==', not = ''. 참조로 전달 된 이후로 문자열을 편집 할뿐입니다. – lcs
woops, 좋은 캐치 –