2010-04-16 9 views
0
#include<stdio.h> 
#include<conio.h> 
#include<stdlib.h> 
#include<string.h> 

struct Node; 
typedef struct Node * PtrToNode; 

struct Node 
{ 
    char element; 
    PtrToNode Next; 
}; 

PtrToNode MakeEmpty(PtrToNode L) 
{ 
    L= new(Node); 
    L->Next=NULL; 
    return L; 
} 

void Push(PtrToNode L,char x) 
{ 
    PtrToNode S; 
    S= new(Node); 
    S->element=x; 
    S->Next=L->Next; 
    L->Next=S; 
} 

char Pop(PtrToNode L) 
{ 
    PtrToNode P; 
    P=L->Next; 
    char x=P->element; 
    L->Next=P->Next; 
    free(P); 
    return x; 
} 

int main() 
{ 
    PtrToNode L; 
    L= MakeEmpty(NULL); 
    char Input[1000]; 
    int i; 
    printf("please enter your equation:"); 
    scanf("%s",Input); 

    for (i = 0;i<strlen(Input);i++) 
    { 
     if (Input[i]=='(') 
     { 
      Push(L,Input[i]); 
     } 
     if (Input[i]==')') 
     { 
      if (L->Next==NULL) 
      { 
       printf("incorrect"); 
       return 0; 
      } 
      else 
       Pop(L); 
     } 



    } 
    if (L->Next==NULL) 
     printf("correct"); 
    else 
     printf("incorrect"); 
    getch(); 
    return 0; 
} 
+0

서식이 잘못되었습니다. 들여 쓰기 코드 4 공백. –

+0

btw이면 C에서 new를 사용하려고합니다. new/delete의 C 상당은 malloc/free이며 stdlib.h의 일부입니다. – Kyte

+1

특히 for (i = 0; i sharptooth

답변

1

문자열 및 메모리 처리를위한 대체 라이브러리를 찾아 보거나 코드를 직접 코딩해야합니다. 모든 라이브러리를 고려할 때, conio를 제외하면 표준이지만, 나는 그들을 생략 할 목적을 찾을 수 없습니다.

+0

"독립 실행 형 구현"에서는 이들 중 어느 것도 필요하지 않습니다 (예 : 소형 임베디드 시스템에서 자주 사용됨). –

+0

괜찮 았지만이 프로그램에서 우리는이 화살표를 어떻게 사용하고 있습니까? 거기에 몇 줄을 볼 수 있니? 처음에 교사와 사냥꾼이 이것을 가르치는 것은 무엇입니까? – muhammadlodhi

관련 문제