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

admin2022-10-24  31

问题 有以下程序
 #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++了,先把当前的a的值拿来参与运算,后面再自加。SUB(a++,b++)→(a++)*(b++)=3*4。故本题答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/sJkp777K
0

相关试题推荐
最新回复(0)