在這段 C 語言程式中,sub 函式被用來計算 (a + b) * (a - b) 的結果,並將該結果轉換為整數後儲存在局部變數 answer 中。然而,這個 answer 變數是 sub 函式內的局部變數,與 main 函式中的 answer 變數不是同一個變數。在 sub 函式結束後,其內的 answer 變數即被丟棄,並不會影響到 main 函式中的 answer 變數。
另外,sub 函式沒有返回任何值給 main 函式,也沒有透過參考或指標來修改 main 函式中的 answer 變數。因此,即使 sub 函式內部進行了計算,這些計算結果也不會反映到 main 函式中的 answer 變數上。
在 main 函式中,answer 被初始化為 0,並且在呼叫 sub(a, b) 之後,沒有其他操作改變 answer 的值。所以當執行到 printf("%d ", answer); 語句時,answer 仍然是 0。
因此,該程式的輸出結果將會是 0,後跟系統暫停的訊息(system("PAUSE"); 的作用),等待用戶按任意鍵繼續。