2010-04-16 56 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個空格。 – 2010-04-16 14:36:47

+0

順便說一句,你試圖在C中使用new。new/delete的C等價物是malloc/free,它恰好是stdlib.h的一部分。 – Kyte 2010-04-16 14:40:23

+1

我特別喜歡'for(i = 0; i sharptooth 2010-04-16 14:41:08

回答

1

你必須找到替代的字符串和內存處理庫,或自己編寫它們。考慮到所有這些庫,除conio之外,都是標準的,我無法找到省略它們的目的。

+0

它們都不是「獨立實現」所必需的(例如,通常用於較小的嵌入式系統)。 – 2010-04-16 14:42:41

+0

好的,但在這個程序中,我們使用 - >什麼是這個箭頭的工作?你可以在那裏看到一些線?最初出家教老師教這個這裏是什麼? – muhammadlodhi 2010-04-16 14:42:54

相關問題