0
我必須檢查s1和s2的頂部卡。 s1是一堆卡片,s2也是。該stack_top功能我已經有了,如下:我比較哪種數據類型?
/* Retrive data from the top of the stack */
node_data stack_top(stack *s){
if(!stack_empty(s)){ /* If the stack is not empty */
return (s->top->data); /* Return the data */
}
else{ /* Otherwise there is an error */
cardlist_error("stack_top called on empty stack");
}
}
我
while (strcmp (stack_top(s1), stack_top(s2)) ==0)
//then do the following..
,但我得到了segmentation fault
,我應該如何對它們進行比較2?
如果堆棧爲空,你真的應該從你的函數中返回一些東西。如果你的函數說要返回一些東西,你應該返回一些東西**無論發生什麼** – mathematician1975
你需要比較'stack_top'返回的'node_data'的內容。 (你沒有包含'node_data'的定義,所以很難確切地說你需要比較的東西;你顯示的只是'stack_top'返回's-> top-> data',沒有指出什麼' data'不是'node_data'。)什麼決定它們是否相等? –