第四届计应赛C语言初赛题目
下面程序的执行结果是( )。#include<stdio.h>
#define PT 3.14
#define S(r) PT*r*r
void main()
{
int a=1,b=2;
printf("%0.1f\n",S(a+b));
}
A.12.6 B. 7.1 C. 28.3 D. 25.7
请问这题为什么选B? 因为
#define S(r) PT*r*r
和S(a+b)之间的替换是这样的:
S(a+b) =PT*a+b*a+b
=3.14*1+2*1+2
=3.14+2+2
=7.14
然后因为%0.1f,所以是7.1
页:
[1]