有以下程序; #include #define N 2 #define M N+1 #define MUN(M+1)*M/2 main() { printf("%d\n",MUN); }

admin2019-01-11  39

问题 有以下程序;
    #include
    #define N 2
    #define M N+1
    #define MUN(M+1)*M/2  
    main()
    {
    printf("%d\n",MUN);
    }
    程序运行后的输出结果是(    )。

选项 A、8
B、9
C、5
D、6

答案A

解析 带参数的宏的调用格式:宏名(实参表),替换过程是,用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。MUN被置换成(2+1+1)×2+1/2;程序的运行结果是6,故D选项正确。
转载请注明原文地址:https://kaotiyun.com/show/k4xp777K
0

最新回复(0)