2016-09-10 9 views
0

これは、テストケースのために後置に変換するためのコードです。テストケースのループ中に使用されましたが、必要な数の入力に対して反復しません。例えばnumofenputを4 3例のためにそのiteatingが... Plzはこれで私を助けて...ここ後置記記...テストケースのループでエラーが発生しました

コード

int main() 
    { 
    stack s;int token;char x;init(&s);int numofenput; 

    scanf("%d",&numofenput); 
    do 
     { 
     while((token=getchar())!='\n') 
     { 
     if(isalnum(token)) 
     printf("%c",token); 
     else 
      if(token=='(') 
       push(&s,'('); 
      else 
       { 
       if(token==')')  
       { 
        while((x=pop(&s))!='(') 
        printf("%c",x); 
        } 
        else 
        { 
        while((priority(token))<=(priority(top(&s))) &&!isempty(&s)) 
        { 
         x=pop(&s); 
         printf("%c",x); 
        } 
         push(&s,token); 
      } 
     } 
    } 
     while(!isempty(&s)) 
     { 
      x=pop(&s); 
     printf("%c",x); 
     } 
     numofenput--; 
     }while(numofenput>0); 
     return 0; 
    } 
+0

このような問題を解決する適切なツールは、デバッガです。スタックオーバーフローを尋ねる前に、コードを一行ずつ進める必要があります。詳しいヘルプは、[小さなプログラムをデバッグする方法(Eric Lippert)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を参照してください。最低限、問題を再現する[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例と、その問題を再現するためのデバッガ。 –

+0

テストケースの数は、 "接尾辞から接尾辞"まで何が関係していますか? 'int num_tests = whatever; for(int i = 0; i PaulMcKenzie

答えて

2

変更:

} 
    numofenput--; 
} while(numofenput>0); 

へ:

} 
    numofenput--; 
} while(numofenput>=0); 
関連する問題