我正在制作一个小程序,它将使用通过动态数组实现的堆栈来检查短语是否具有平衡的括号和括号。到目前为止,我只是尝试将一个短语传递给 isBalanced 函数,然后尝试逐个打印出每个字符。当程序到达:
printf("%s\n", nextChar(s));
我收到分段错误和有关传递类型 char 和期望类型 int 的警告。非常感谢任何帮助。
char nextChar(char* s)
{
static int i = -1;
char c;
++i;
c = *(s+i);
if ( c == '\0' )
return '\0';
else
return c;
}
int isBalanced(char* s)
{
while(nextChar(s) != 0){
printf("%s\n", nextChar(s));
}
return 0;
}
int main(int argc, char* argv[])
{
char* s=argv[1];
int res;
res = isBalanced(s);
return 0;
}