看板 ACMCLUB 關於我們 聯絡資訊
※ 引述《kc655039 (￾NN￾N ￾  )》之銘言: : main() : { : char preorder[27]; : char inorder[27]; : char *temp; : while (cin>>preorder>>inorder) : { : temp=preorder; : post_order(inorder,&temp);//這個地方居然不能用 : cout<<endl; //post_order(inorder,&preorder); : } //why?我記得preorder就是地存放位 : return 0; //位置不是,用個temp去裝不也沒改變 : } //什麼??十分移惑 temp 是一個 char 的指標, 所以傳 &temp 時 (*middle)++ 就是要 temp 指向下一個 preorder 是一個 char 陣列, 而單用 preorder 時可以視為 &preorder[0] 也就是這個陣列的頭的位址 那麼, 既然這個陣列的「頭的位址」是寫死在記憶體裡面的 當然不可以 ++ 囉 另外, &preorder 意思是 preorder 這個陣列的位址 所以和 &preorder[0] (第一個元素的位址) 是一樣的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.43 ※ 編輯: JonathanWang 來自: 140.112.30.43 (02/21 00:28)