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

admin2022-04-01  37

问题 有以下程序
 #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语言中的一个宏定义命令,标识符一般使用大写,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义不进行其他操作,仅仅只是替换标识符。后置自增运算:a++表示先运算,后自加。意思是遇到a++了,先把当前的k的值拿来参加运算,后面再去管它的自加。SUB(a++,b++)→(a++)*(b++)=3*4。故答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/p2kp777K
0

最新回复(0)