小白白圣代 2017-10-09 11:21 采纳率: 0%
浏览 1243
已结题

strcpy函数执行莫名出错

#include
#include
#include
char stack[10000];
struct string{
char s[10000];
char b[10];
};
int top=-1;
main(){
char rightornot(char s[]);
int N;
struct string str[5];
int j;
// scanf("%d",&N);
for(j=0;j scanf("%s",str[j].s);
strcpy(str[j].b,rightornot(str[j].s));
}
for(j=0;j>=0;j++)
printf("%s",str[j].b);

 return 0;

}
char rightornot(char s[]){
int i;
for(i=0;i<10000;i++)
{
if(s[i]=='('||s[i]=='[')
{
top++;
stack[top]=s[i];

     }
     if(s[i]==')')
     {
        if(stack[top]=='(')
            top--;
        else
        {
            break;
        }
     }
        if(s[i]==']')
        {
            if(stack[top]=='[')
            top--;
        else
        {

            break;
        }

     }
        if(s[i]=='/0')
        {
        break;
        }   
         if(top==-1)
              return "yes";
         else
              return "no";
}

}

  • 写回答

3条回答 默认 最新

  • 道亦无名 领域专家: 嵌入式与硬件开发技术领域 2017-10-10 01:11
    关注

    大兄弟,你可以搞个单步调试,然后对应的看看哪里出错了 应该就解决了

    评论

报告相同问题?