免費開始練習
地特三等申論題 110年 [資訊處理] 程式設計

第 四 題

四、請問下列程式碼之輸出結果為何?(25 分)
#include
#include
void function(int a, int b)
{
printf("a=%d,b=%d\n", a, b);
for (i = 0; i < 8; i++)
{
if (!(a > 10 && b < 10) && (a <= 10 || b >= 10))
{
a = a + 1;
b = b - 1;
printf("a=%d,b=%d\n", a, b);
}
}
}
int main()
{
int x = 5;
int y = 10;
function(x, y);
return 0;
}
📝 此題為申論題

思路引導 VIP

本題重點在於程式邏輯的追蹤。首先可利用狄摩根定律(De Morgan's laws)將複雜的 if 判斷式加以化簡,接著透過逐步推導或列表的方式,追蹤 for 迴圈內變數 a 與 b 值的變化及列印結果。

🤖
AI 詳解 AI 專屬家教

【解題思路】利用狄摩根定律化簡 if 條件判斷式,並透過逐步推導法追蹤迴圈中變數的變化與輸出。 【詳解】 已知:主程式宣告 x = 5, y = 10,並呼叫 function(x, y),因此進入副程式時初始變數為 a = 5, b = 10

▼ 還有更多解析內容

📝 同份考卷的其他題目

查看 110年[資訊處理] 程式設計 全題