有以下程序 #include <stdio.h> #define SUB( x,y ) (x)*(y) main() { int a=3, b=4; printf("%d \n", SUB( a++, b++ ) ); } 程序

admin2021-04-28  33

问题 有以下程序
#include  <stdio.h>
#define   SUB( x,y )    (x)*(y)
main()
{   int   a=3, b=4;
    printf("%d \n", SUB( a++, b++ ) );
}
程序运行后的输出结果是

选项 A、15
B、12
C、16
D、20

答案B

解析 #define命令是C语言中的一个宏定义命令,标识符一般使用大写,为了区分其他标识符,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义不进行其他操作,仅仅只是替换标识符。 后置自增运算:k++表示先运算,后自加。 意思是遇到k++了,先把当前的k的值拿来参加运算,后面再去管它的自加。SUB(a++,b++):(a++)*(b++):3*4。故答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/1Ctp777K
0

最新回复(0)