請問大俠,下面的c語言程式為何有段錯誤

2022-12-04 15:46:19 字數 879 閱讀 2066

1樓:伊·梵

樓主使用的編譯器沒有錯誤提示的嗎?我的有:

未命名.cpp(18) : error c2440:

'=' : cannot convert from 'struct node *' to 'struct node ** '

types pointed to are unrelated; conversion requires reinterpret_cast, c-style cast or function-style cast

未命名.cpp(19) : error c2227: left of '->data' must point to class/struct/union

從錯誤資訊中可以很快發現問題:

typedef struct stack

stack, *pstack;

ps->ptop = (pnode)malloc(sizeof(node)); //這裡ps->ptop不是pnode型別,而是pnode *型別的

修改typedef struct stack

stack, *pstack;

2樓:匿名使用者

#include

#include

typedef struct node

node, *pnode;

typedef struct stack

stack, *pstack;

int main(void)

3樓:暈我不知道是誰

ps自己還沒分配記憶體呢 先給ps分配個stack的記憶體 然後再分配node的

4樓:唐唐

很不錯 但是中間是有錯誤的 自己找

C語言下面的程式為什麼不能執行

b是一個指標,b是指標指向的位置。b並未指向任何位置,但是你卻為他賦值,當然出錯。char b 新增如下 char tmp b tmp b a 即可。這時候給 b賦值,就是給tmp賦值。char str char a,b a str b a printf s s a,b 這樣就對了。include ...

下面程式的執行結果是,C語言 下面程式的執行結果是()

答案選d。strcat a,b 結果 a 為 ablmnp,b 為 lmnp。while a i 0 b i a i 一開始 i 等於 0,但在 while 的迴圈條件中將 i 自增,所以第一次進入迴圈體時 i 等於 1,於是就有了最終結果 lblmnp。c語言 下面程式的執行結果是 因為i 3 進...

一道簡單的C語言問題,下面的程式錯在哪,為什麼錯了

好像是你的語言程式混亂造成的,你是不是有多版本語言系統啊 你想實現什麼,p這裡bai始終是一個野du指標zhi,執行會出錯,雖然編譯時不一定會dao報錯專 include stdio.h void main p p a 1 p 不知道你的目的,所以沒法屬判斷意圖,只是改的不會報錯而已 printf ...