有以下程序: #lnclude #define F(x)(x/x)*x main() {int k=4,j=2; printf(’’%d,%d\n’’,F(k+j),F((j+k))); } 程序运行后的输出结果是( )。

admin2021-07-09  11

问题 有以下程序:
#lnclude
#define F(x)(x/x)*x
main()
{int k=4,j=2;
printf(’’%d,%d\n’’,F(k+j),F((j+k)));
}
程序运行后的输出结果是(  )。

选项 A、26,6
B、28,6
C、6,6
D、26,26

答案A

解析 宏定义一定要先代入再计算,本题中F(k+j)、F(j+k)可以替换为:F(k+j)=(k+j/k+j)*k+j=(4+2/4+2)×4+2=26;F((j+k))=((j+k)/(j+k))*(j+k)=6。
转载请注明原文地址:https://jikaoti.com/ti/qYz0FFFM
0

最新回复(0)