有以下程序: #include #define S(x)x/x*x main() { int k=6,j=3; printf("%d,%d\n",S(k+j),S(j+k)); } 程序运行后的输出

admin2016-04-07  22

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

选项 A、27,27
B、9,9
C、27,29
D、29,29

答案C

解析 定义一个带参数的宏时,字符串内的形参通常要用圆括号括起来,以避免出错。本题中,S(k+j)相当于执行运算k+j/k+j*k+j,将k、j值代入运算后取整为27,S(j+k)同理,因此答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/ctDp777K
0

最新回复(0)