39 下列 C 程式執行後的輸出為何?

【綠君】評論
不好意思,我驗證了一下,確實答案是(A),請您修改一下。DIV(y,z)*ADD(x,y)是 y/z*x+y,因為沒有括號,所以乘除優先後加減的順序。y/z 是 15/4,因為資料類型是int整數,所以結果是3。y/z*x是 3*5=15y/z*x+y是 15+15=30。因此答案最後是30,選項為(A)將下面指令放到網址內 線上compile_c#include <stdio.h#define ADD(x,y) x+y#define DIV(x,y) x/yint main(void){ int x=5,y=15,z=4; printf("%dn",DIV(y,z)*ADD(x,y)); return 0;...
【【站僕】摩檸Morning】評論
原本答案為C,修改為A
【Yueh-Tseng Ho】評論
因為是define,所以就是把它定義的東西帶進去,如果那兩個define都改成function(下面那樣)答案就是60#include <stdio.hint b(int x,int y){ return x/y;}int c(int x,int y){ return x+y;}int main(){ int x=5,y=15,z=4; printf("%d",b(y,z)*c(x,y)); return 0;}