-2
我堅持着這片代碼,我在考試的模擬發現:C - 鏈表:這個函數應該輸出什麼?
struct node{
int val;
struct node* next;
};
struct node* list;
struct node* function (struct node* p){
struct node *temp, *prec = NULL;
if (p!=NULL){
while(p->next!=NULL){
temp=prec;
prec=p;
p=p->next;
prec->next=temp;
}
p->next=prec;
}
return p;
}
我試着編譯它,顯示的輸出是一個反向列表。例如:如果我的列表由1,2,3和4組成。顯示的輸出是4,3,2和1.我的問題是:有人能解釋我在while循環內發生了什麼嗎?
正確的,根據該規範? –
我測試中的問題說:根據輸入中給出的列表,運行「list = function(list);」之後列表將會是什麼?聲明? – K4lab
所以...不是你的「問題」回答這個問題嗎? –