c = scanf("%d", &c); // 錯誤:scanf 返回匹配項數(1),非輸入值
switch (c) { ... } // c 永遠為 1,無法進入 case 0/2/3
scanf 返回成功匹配的參數個數,此處始終返回 1c 被覆蓋為 1,導致菜單選項判斷失效n-- 邏輯單一,未真正移除元素scanf("%d", &c); // 僅讀取輸入到 c
switch (c) { ... }
for(i=idx; i<n-1; i++) data[i]=data[i+1]; n--;scanf 返回值是否為 1scanf 返回值 ≠ 輸入值。C 語言輸入函數返回狀態碼,實際數據通過指針參數帶回。