Pop函數改成這樣:
公司主營業務:成都做網站、成都網站建設、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯公司是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯公司推出臨澧免費做網站回饋大家。
int Pop (Stack * pstack, int * pname)
{
if(pstack-top=0)
{
return 0;
}
pstack-top--;
* pname = pstack-data[pstack-top];
return 1;
}
Push函數改成這樣:
int Push (Stack * pstack, int num)
{
if(pstack-top=Stack_size)
{
printf("Push Error!");
return 0;
}
pstack-data[pstack-top]=num;
pstack-top++;
return 0;
}
試試(原來那樣當元素達到最大數目時pstack-top就越界了)。
#include?stdio.h
#include?stdlib.h
#define?MAXSIZE?32
typedef?struct{
int?*elem;/*?棧的存儲區?*/
??int?max;???/*?棧的容量,即找中最多能存放的元素個數?*/
??int?top;???/*?棧頂指針?*/?
}Stack;
int?InitStack(Stack?*S,?int?n)?/*創建容量為n的空棧*/
{
S-elem?=?(int?*)malloc(n?*?sizeof(int));
if(S-elem==NULL)?return?-1;
S-max=n;
S-top?=0;?//棧頂初值0
return?0;
}
int?Push(Stack?*S,?int?item)?/*將整數item壓入棧頂*/
{
if(S-top==S-max)?{
printf("Stack?is?full!?\n");
return?-1;
}
S-elem[S-top++]?=?item;?//壓棧,棧頂加1
return?0;
}
int?StackEmpty(Stack?S)
{
return?(!S.top)?1:0;?/*判斷棧是否為空*/
}
int?Pop(Stack?*S)?/*棧頂元素出棧*/
{
if(!S-top)?{
printf("Pop?an?empty?stack!\n");
return?-1;
}
return?S-elem[--S-top]??;?//彈出棧,棧頂減1
}
void?MultibaseOutput(long?n,int?B)
{
int?m;?Stack?S;
if(InitStack(S,MAXSIZE)){
printf("Failure!\n");
return;
}
do?{
if?(Push(S,B?))?//------
{
printf("Failure!\n");
return;
}
n=?n-1?;?//--------
}while(n!=0);
while(!StackEmpty(S))?{?/*輸出B進制的數*/
m=Pop(S);
if(m10)?printf("%d",m);?/*小于10,輸出數字*/
else?printf("%c",?m+55);?/*大于或等于10,輸出相應的字符*/
}
printf("\n");
}
與它前面的類型SElemType一起把變量e定義為一種引用類型的變量,引用類型是C++相較于C語言新增加的語言特性,具有與指針類似的作用。把一個變量定義為引用類型的方法與定義為指針類型的方法也類似,把*改成就行了。比如:
//全局變量
int n=1;
void f1(int n)
{
n=2;
}
void f2(int *n)
{
*n=3;
}
void f3(int n)
{
n=4;
}
f1(n);
f2(n);
//調用參數為引用類型的函數時,直接傳遞實參名作參數就行了
f3(n);
函數f2和函數f3的調用都會改變全局變量n的值。
關于 pop 函數,我不太確定題主說的是哪個函數,因為 C 語言的標準函數庫是沒有 pop 這個函數的。如果題主說的是 C++ 的 Stack 類中的 pop 函數的話,它并不是一個縮寫,因為從棧中取值的操作就叫做 pop。
然后就是查詢單詞原型的網站,因為 C 語言好多函數庫中的函數名都是按照很奇怪的方法縮寫的,所以基本上沒有一個專門查全稱的網站。不過題主可以參考
這個網站里面雖然沒有指出具體的縮寫方式,但是能很好地解釋 C 語言標準函數庫的所有函數的作用。通過它的介紹你應該會對函數的全稱有一個大概的理解。比如說這個針對 stdio.h 頭文件中所定義函數的解釋:
不光是 C 語言,C++ 的標準類庫的信息也可以在這個網站中找到。
在函數定義時寫int
pop(int
s,
int
e)是說明參數是直接引用的參數
在函數調用時寫pop(a,
b);[注意這個不是函數定義,而是調用語句],
這里的是取地址的運算,與函數參數定義時的不是同一個含義,因此在這里不能理解是引用傳遞的意思,而是取a和b的地址傳遞給函數的參數變量s和e(應該是調用第3個函數)
第2個函數調用直接寫pop(a,b);即可實現
新聞名稱:c語言pop函數用法 c語言中pop函數
標題網址:http://vcdvsql.cn/article38/hejcsp.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、定制開發、網站內鏈、企業建站、品牌網站制作、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯