#include"stdio.h"
#include"stdlib.h"
//#include <stdbool.h>
#define Maxsize 100 // 定義堆疊的最大容量
typedef int Datatype;
typedef struct
{ Datatype data[Maxsize]; // 定義存放堆疊元素的陣列,定義堆疊中元素,Datatype為元素的資料型別
int top; // 定義堆疊指標,指向堆疊頂的位置
}Sqstack;
void initstack(Sqstack *&L)/*初始化順序堆疊*/
{ L = (Sqstack *)malloc(sizeof(Sqstack));
L -> top = -1; // 初始化堆疊指標top為-1,即為空堆疊
}
int stackempty(Sqstack *L)/*判斷順序堆疊是否為空*/
{
return (L->top = -1);
}
void main()
{
Sqstack s;
printf("(1).初始化順序堆疊;\n");
initstack(s);
printf("(2).判斷順序堆疊是否為空:");
if(stackempty(s))
{
printf("這是一個空順序堆疊!\n");
}
else printf("這是非空順序堆疊!\n");
}
K:\資料結構(C語言)\堆疊\順序堆疊\新建文本檔案.c(12) : error C2143: syntax error : missing ')' before '&'
K:\資料結構(C語言)\堆疊\順序堆疊\新建文本檔案.c(12) : error C2143: syntax error : missing '{' before '&'
K:\資料結構(C語言)\堆疊\順序堆疊\新建文本檔案.c(12) : error C2059: syntax error : '&'
K:\資料結構(C語言)\堆疊\順序堆疊\新建文本檔案.c(12) : error C2059: syntax error : ')'
K:\資料結構(C語言)\堆疊\順序堆疊\新建文本檔案.c(43) : warning C4013: 'initstack' undefined; assuming extern returning int
K:\資料結構(C語言)\堆疊\順序堆疊\新建文本檔案.c(46) : error C2115: 'function' : incompatible types
K:\資料結構(C語言)\堆疊\順序堆疊\新建文本檔案.c(46) : warning C4024: 'stackempty' : different types for formal and actual parameter 1
執行 cl.exe 時出錯.
uj5u.com熱心網友回復:
函式原型的引數是指標型別,主函式里的s卻不是指標uj5u.com熱心網友回復:
#include"stdio.h"
#include"stdlib.h"
//#include <stdbool.h>
#define Maxsize 100 // 定義堆疊的最大容量
typedef int Datatype;
typedef struct
{
Datatype data[Maxsize]; // 定義存放堆疊元素的陣列,定義堆疊中元素,Datatype為元素的資料型別
int top; // 定義堆疊指標,指向堆疊頂的位置
}Sqstack;
void initstack(Sqstack *&L)/*初始化順序堆疊*/
{
L = (Sqstack *)malloc(sizeof(Sqstack));
L -> top = -1; // 初始化堆疊指標top為-1,即為空堆疊
}
int stackempty(Sqstack *L)/*判斷順序堆疊是否為空*/
{
//return (L->top = -1);
return (L->top == -1);
}
//void main()
int main()
{
//Sqstack s;
Sqstack *s;
printf("(1).初始化順序堆疊;\n");
initstack(s);
printf("(2).判斷順序堆疊是否為空:");
if(stackempty(s))
{
printf("這是一個空順序堆疊!\n");
}
else printf("這是非空順序堆疊!\n");
}
供參考~
uj5u.com熱心網友回復:
void initstack(Sqstack *&L)星號和&連用?
uj5u.com熱心網友回復:
你好,我改了那個地方但還是沒用。
uj5u.com熱心網友回復:
你好,我用你改的代碼后還是沒用。
uj5u.com熱心網友回復:
嗯嗯。之前這么打沒問題的。
uj5u.com熱心網友回復:
Sqstack s;改成Sqstack *s;我云行出來了呀,雖然我不知道運行的結果是不是你想要的
uj5u.com熱心網友回復:
函式原型的引數是指標型別,主函式里的s卻不是指標
你好,我改了那個地方但還是沒用。
Sqstack s;改成Sqstack *s;我云行出來了呀,雖然我不知道運行的結果是不是你想要的
你好,你看一下我新發的貼,有一串可以編譯運行的代碼,但是我對比不出錯誤在哪里。
uj5u.com熱心網友回復:
函式原型的引數是指標型別,主函式里的s卻不是指標
你好,我改了那個地方但還是沒用。
Sqstack s;改成Sqstack *s;我云行出來了呀,雖然我不知道運行的結果是不是你想要的
你好,你看一下我新發的貼,有一串可以編譯運行的代碼,但是我對比不出錯誤在哪里。
以前我們老師說應該是環境問題,但我也不敢確定。
uj5u.com熱心網友回復:
真的是環境問題,我用c source 提示錯誤,用c++ source就可以了轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/231226.html
標籤:C語言
下一篇:關于一級指標和二級指標的轉換
