日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...

發(fā)布時間:2025/3/12 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓

#include

#include /* malloc()等 */

#include

#include

#include /* exit() */

#define TRUE 1

#define FALSE 0

#define OK 1

#define ERROR 0

#define OVERFLOW -2

typedef int Status; /* Status是函數(shù)的類型,其值是函數(shù)結果狀態(tài)代碼,如OK等 */

typedef int Boolean; /* Boolean是布爾類型,其值是TRUE或FALSE */

typedef int SELemType;

typedef int Status; /* 定義棧頂元素類型,此句要在c3-1.h的前面 */

typedef struct Node

{

SELemType data;

struct Node *next;

}Node,*LinkStackPtr;

typedef struct LinkStack

{

LinkStackPtr top;

int count;/*記錄鏈棧的元素個數(shù)*/

}LinkStack; /* 鏈棧 */

/* 鏈棧的基本操作(9個) */

Status InitStack(LinkStack *S)

{ /* 構造一個空棧S */

LinkStackPtr p;

p=(LinkStackPtr)malloc(sizeof( Node));

if(!p)

exit(OVERFLOW); /* 存儲分配失敗 */

p->next=NULL;

S->top=p;

S->count=0;

return OK;

}

Status ClearStack(LinkStack *S)/*清空鏈棧*/

{

LinkStackPtr p;

while(S->top)

{

p=S->top;

S->top=S->top->next;

S->count--;

free(p);

}

return OK;

}

Status DestroyStack(LinkStack *S)

{ /* 銷毀棧S,S不再存在 */

ClearStack(&*S);

free(S);

return OK;

}

Status StackEmpty(LinkStack S)

{ /* 若棧S為空棧,則返回TRUE,否則返回FALSE */

if(S.top)

return TRUE;

else

return FALSE;

}

int StackLength(LinkStack S)

{ /* 返回S的元素個數(shù),即棧的長度 */

return S.count;

}

Status GetTop(LinkStack S,SELemType*e)

{ /* 若棧不空,則用e返回S的棧頂元素,并返回OK;否則返回ERROR */

if(!S.top) return ERROR;

*e=S.top->data;

return OK;

}

Status Push(LinkStack *S,SELemType e)

{ /* 插入元素e為新的棧頂元素 */

LinkStackPtr p=(LinkStackPtr)malloc(sizeof(Node));

p->data=e;

p->next=S->top;

S->top=p;

S->count++;

return OK;

}

Status Pop(LinkStack *S,SELemType *e)

{ /* 若棧不空,則刪除S的棧頂元素,用e返回其值,并返回OK;否則返回ERROR */

LinkStackPtr p;

if(!S->top) return ERROR;

p=S->top;

S->top=S->top->next;

S->count--;

free(p);

return OK;

}

Status visit(SELemType a)

{

printf("%d",a);

return OK;

}

Status StackTraverse(LinkStack S)

{ /* 從棧底到棧頂依次對棧中每個元素調用函error C2081: 'SElemType' : name in formal parameter list illegal數(shù)visit() */

LinkStackPtr p;

p=S.top;

while(p)

{

visit(p->data);

p=p->next;

}

printf("\n");

return OK;

}

int main()

{ int i;

SELemType e;

LinkStack s;

if(InitStack(&s))

for(i=1;i<=10;i++)

Push(&s,i);

printf("壓棧操作后,棧中元素為:\n");

StackTraverse(s);

Pop(&s,&e);

printf("出棧操作后,彈出的元素為:%d\n",e);

Pop(&s,&e);

printf("再次出棧操作后,彈出的元素為:%d\n",e);

printf("Push將剛剛彈出的元素%d再次壓入棧中\(zhòng)n");

Push(&s,e);

printf("StackEmpty判斷棧是否為空:%d(1:是 0:不是)\n",StackEmpty(s));

GetTop(s,&e);

printf("GetTop當前的棧頂元素為:%d\n",e);

printf("StackLength:當前的棧的長度為:%d\n",StackLength(s));

ClearStack(&s);

printf("ClearStack棧清空后,StackEmpty棧是否為空:%d(1:是 0:不是)%d",StackEmpty(s));

DestroyStack(&s);

printf("DestroyStack棧銷毀");

return 0;

}

總結

以上是生活随笔為你收集整理的有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。