1、另外你的程序一團混亂。從對棧的一般理解上來說,pop函數(shù)本身應該完成:將top指向原top的下一個元素。 從棧中移除原top元素。
創(chuàng)新互聯(lián)建站歡迎咨詢:13518219792,為您提供成都網站建設網頁設計及定制高端網站建設服務,創(chuàng)新互聯(lián)建站網頁制作領域十余年,包括成都食品包裝袋等多個領域擁有豐富的網站制作經驗,選擇創(chuàng)新互聯(lián)建站,為企業(yè)保駕護航。
2、給你指出兩個錯誤:StackEmpty函數(shù)名前是void,函數(shù)體中卻有返回值的語句,這連編譯都過不了的。主函數(shù)中的變量e沒有初始化,卻在當右值使用,也看不出應該初始化為什么值才對。
3、我的VC里也沒有問題。你是不是忘了加上#include stdafx.h的頭文件了?也可以是你的VC有問題。如果是,換了。
4、input()函數(shù)中不能保證name被正確賦值 while((c=getchar())!=\n||in) //輸入空格鍵或超過最大商品數(shù)則停止輸入。
5、return(*top); //返回top。自己想,這個分支里你那里pop了?外面是*top=pop(top),然后pop(top)實際上==*top,死循環(huán) 另外你的程序一團混亂。
解決方法:將[char *r1;]改為[char *r1=]解釋:r1未初始化。當if(pop(r,r1)!=dequeue(s,s1))調用r1時,由于r1沒有初始化,使得pop函數(shù)在執(zhí)行*e的時候發(fā)生錯誤。
//去掉該指針*a,其實這個指針沒有任何用處,和堆棧里的數(shù)組a是兩回事,并且因為沒有給該指針分配空間,所以下面給指針的值賦值時內存就會出錯,程序就會死掉。
pop函數(shù)邏輯有問題。if(!top-link){ //當棧內沒有下一個元素的時候 couttop-data return(*top-link);} else //當棧內還有下一個元素的時候 return(*top); //返回top。
1、POP的全稱為PostOfficeProtocol,即郵局協(xié)議,用于電子郵件的接收。本協(xié)議主要用于支持使用客戶端遠程管理在服務器上的電子郵件。所謂POP(PointofProction)終端,是指處理生產時信息的終端。
2、這個算是數(shù)據結構的內容講解的是一個叫做棧類型的數(shù)據結構,這個數(shù)據結構的特點就是后進先出--最后放進去的數(shù)據最先拿出來。pop函數(shù)就是拿出數(shù)據的操作,push是放入是數(shù)據的操作。
3、double cabs(struct complex znum) 返回復數(shù)znum的絕對值。double fabs(double x) 返回雙精度參數(shù)x的絕對值。long labs(long n) 返回長整型參數(shù)n的絕對值。
4、typedef:該詞不是一個固定的英文單詞縮寫。它表示的意思就是:重新自定義一種新的數(shù)據類型。例如:重新定義一個結構等??梢岳斫獬蛇@樣:type-define。static:是靜態(tài)的意思。switch:是開關的意思。
int Pop(SqStack S,SElenType e){ if(S.top==S.base)return ERROR;e=*--S.top;return OK;} SElenType e 是變量 帶不出去值的, 要改成SElenType *e 然后 *e=*--S.top; printf才會打印出想要的值。
pop函數(shù)邏輯有問題。if(!top-link){ //當棧內沒有下一個元素的時候 couttop-data return(*top-link);} else //當棧內還有下一個元素的時候 return(*top); //返回top。
你的第一個while循環(huán)已經把elem指向了\0這個字符,在讓elem進入第2個while循環(huán)的時候,*elem就是\0了,所以并沒進行壓棧的處理,根本就是無數(shù)據可壓;還有就是你上邊的棧實現(xiàn)是否有問題?在好好檢查下吧。
當然也可以不用初始化函數(shù),像3樓的因為在調用其他函數(shù)是都是臨時開辟的內從空間,但傳的是指針,所以編譯時沒錯,但在連接時地址不一致導致了問題,只有主函數(shù)中真實的創(chuàng)建了頭指針,才不會導致錯誤。
1、鼠標雙擊或者右擊打開桌面上DEVc++軟件,讓其運行起來。棧是一種應用范圍廣泛的數(shù)據結構,適用于各種具有“后進先出”特性的問題。首先構建順序棧的儲存結構。
2、棧的特點是先進后出。你把棧當成一個水桶,把書一本本放進去,然后最先放的書就被壓在最下面,所以最先進去的,最后出來。壓棧就是入棧就是把書放進水桶,出棧就是把書拿出來。
3、這個算是數(shù)據結構的內容講解的是一個叫做棧類型的數(shù)據結構,這個數(shù)據結構的特點就是后進先出--最后放進去的數(shù)據最先拿出來。pop函數(shù)就是拿出數(shù)據的操作,push是放入是數(shù)據的操作。
4、pop是從棧中彈出最上面的元素并取得它,top是取得棧最上面的元素(但不讓它彈出,這個元素還在棧內),push是壓入一個元素,empty是判斷棧是否空的,makeempty是把棧清空。
5、C語言中堆棧說的是數(shù)據結構,和系統(tǒng)中的堆棧中是不一樣的,/ 用一個靜態(tài)數(shù)組實現(xiàn)的堆棧。