1、另外你的程序一團(tuán)混亂。從對(duì)棧的一般理解上來(lái)說(shuō),pop函數(shù)本身應(yīng)該完成:將top指向原top的下一個(gè)元素。 從棧中移除原top元素。
創(chuàng)新互聯(lián)建站歡迎咨詢:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)建站網(wǎng)頁(yè)制作領(lǐng)域十余年,包括成都食品包裝袋等多個(gè)領(lǐng)域擁有豐富的網(wǎng)站制作經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)建站,為企業(yè)保駕護(hù)航。
2、給你指出兩個(gè)錯(cuò)誤:StackEmpty函數(shù)名前是void,函數(shù)體中卻有返回值的語(yǔ)句,這連編譯都過(guò)不了的。主函數(shù)中的變量e沒(méi)有初始化,卻在當(dāng)右值使用,也看不出應(yīng)該初始化為什么值才對(duì)。
3、我的VC里也沒(méi)有問(wèn)題。你是不是忘了加上#include stdafx.h的頭文件了?也可以是你的VC有問(wèn)題。如果是,換了。
4、input()函數(shù)中不能保證name被正確賦值 while((c=getchar())!=\n||in) //輸入空格鍵或超過(guò)最大商品數(shù)則停止輸入。
5、return(*top); //返回top。自己想,這個(gè)分支里你那里pop了?外面是*top=pop(top),然后pop(top)實(shí)際上==*top,死循環(huán) 另外你的程序一團(tuán)混亂。
解決方法:將[char *r1;]改為[char *r1=]解釋:r1未初始化。當(dāng)if(pop(r,r1)!=dequeue(s,s1))調(diào)用r1時(shí),由于r1沒(méi)有初始化,使得pop函數(shù)在執(zhí)行*e的時(shí)候發(fā)生錯(cuò)誤。
//去掉該指針*a,其實(shí)這個(gè)指針沒(méi)有任何用處,和堆棧里的數(shù)組a是兩回事,并且因?yàn)闆](méi)有給該指針?lè)峙淇臻g,所以下面給指針的值賦值時(shí)內(nèi)存就會(huì)出錯(cuò),程序就會(huì)死掉。
pop函數(shù)邏輯有問(wèn)題。if(!top-link){ //當(dāng)棧內(nèi)沒(méi)有下一個(gè)元素的時(shí)候 couttop-data return(*top-link);} else //當(dāng)棧內(nèi)還有下一個(gè)元素的時(shí)候 return(*top); //返回top。
1、POP的全稱為PostOfficeProtocol,即郵局協(xié)議,用于電子郵件的接收。本協(xié)議主要用于支持使用客戶端遠(yuǎn)程管理在服務(wù)器上的電子郵件。所謂POP(PointofProction)終端,是指處理生產(chǎn)時(shí)信息的終端。
2、這個(gè)算是數(shù)據(jù)結(jié)構(gòu)的內(nèi)容講解的是一個(gè)叫做棧類型的數(shù)據(jù)結(jié)構(gòu),這個(gè)數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)就是后進(jìn)先出--最后放進(jìn)去的數(shù)據(jù)最先拿出來(lái)。pop函數(shù)就是拿出數(shù)據(jù)的操作,push是放入是數(shù)據(jù)的操作。
3、double cabs(struct complex znum) 返回復(fù)數(shù)znum的絕對(duì)值。double fabs(double x) 返回雙精度參數(shù)x的絕對(duì)值。long labs(long n) 返回長(zhǎng)整型參數(shù)n的絕對(duì)值。
4、typedef:該詞不是一個(gè)固定的英文單詞縮寫(xiě)。它表示的意思就是:重新自定義一種新的數(shù)據(jù)類型。例如:重新定義一個(gè)結(jié)構(gòu)等。可以理解成這樣:type-define。static:是靜態(tài)的意思。switch:是開(kāi)關(guān)的意思。
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才會(huì)打印出想要的值。
pop函數(shù)邏輯有問(wèn)題。if(!top-link){ //當(dāng)棧內(nèi)沒(méi)有下一個(gè)元素的時(shí)候 couttop-data return(*top-link);} else //當(dāng)棧內(nèi)還有下一個(gè)元素的時(shí)候 return(*top); //返回top。
你的第一個(gè)while循環(huán)已經(jīng)把elem指向了\0這個(gè)字符,在讓elem進(jìn)入第2個(gè)while循環(huán)的時(shí)候,*elem就是\0了,所以并沒(méi)進(jìn)行壓棧的處理,根本就是無(wú)數(shù)據(jù)可壓;還有就是你上邊的棧實(shí)現(xiàn)是否有問(wèn)題?在好好檢查下吧。
當(dāng)然也可以不用初始化函數(shù),像3樓的因?yàn)樵谡{(diào)用其他函數(shù)是都是臨時(shí)開(kāi)辟的內(nèi)從空間,但傳的是指針,所以編譯時(shí)沒(méi)錯(cuò),但在連接時(shí)地址不一致導(dǎo)致了問(wèn)題,只有主函數(shù)中真實(shí)的創(chuàng)建了頭指針,才不會(huì)導(dǎo)致錯(cuò)誤。
1、鼠標(biāo)雙擊或者右擊打開(kāi)桌面上DEVc++軟件,讓其運(yùn)行起來(lái)。棧是一種應(yīng)用范圍廣泛的數(shù)據(jù)結(jié)構(gòu),適用于各種具有“后進(jìn)先出”特性的問(wèn)題。首先構(gòu)建順序棧的儲(chǔ)存結(jié)構(gòu)。
2、棧的特點(diǎn)是先進(jìn)后出。你把棧當(dāng)成一個(gè)水桶,把書(shū)一本本放進(jìn)去,然后最先放的書(shū)就被壓在最下面,所以最先進(jìn)去的,最后出來(lái)。壓棧就是入棧就是把書(shū)放進(jìn)水桶,出棧就是把書(shū)拿出來(lái)。
3、這個(gè)算是數(shù)據(jù)結(jié)構(gòu)的內(nèi)容講解的是一個(gè)叫做棧類型的數(shù)據(jù)結(jié)構(gòu),這個(gè)數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)就是后進(jìn)先出--最后放進(jìn)去的數(shù)據(jù)最先拿出來(lái)。pop函數(shù)就是拿出數(shù)據(jù)的操作,push是放入是數(shù)據(jù)的操作。
4、pop是從棧中彈出最上面的元素并取得它,top是取得棧最上面的元素(但不讓它彈出,這個(gè)元素還在棧內(nèi)),push是壓入一個(gè)元素,empty是判斷棧是否空的,makeempty是把棧清空。
5、C語(yǔ)言中堆棧說(shuō)的是數(shù)據(jù)結(jié)構(gòu),和系統(tǒng)中的堆棧中是不一樣的,/ 用一個(gè)靜態(tài)數(shù)組實(shí)現(xiàn)的堆棧。
網(wǎng)站題目:pop函數(shù)的編碼c語(yǔ)言 編程中的pop
文章位置:http://chinadenli.net/article11/dehisdd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、服務(wù)器托管、網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容