
9. 以下程序的输出结果是 ( ) #include"stdio.h" void fun(int a,int b,int c)
9.以下程序的输出结果是()#include"stdio.h"voidfun(inta,intb,intc){a=456;b=567;c=678;}main(){intx...
9. 以下程序的输出结果是 ( )
#include"stdio.h"
void fun(int a,int b,int c)
{a=456;b=567;c=678; }
main( )
{int x = 10,y =20,z=30;
fun(x,y,z);
printf("%d%d%d",x,y,z);
}
A. 30,20,10 B. 10,20,30 C. 456,567,678 D. 678,567,456 答案是A,为什么会是A?
10.以下程序的输出结果是 ( )
#include"stdio.h"
int abc(int u ,int v);
main( )
{ int a=24,b=16,c;
c=abc(a,b);
printf ("%d\n",c);}
int abc(int u ,int v)
{int w;
while(v)
{w=u%v;u=v;v=w;}
return u; } A.6 B.7 C.8 D.9 答案为C,为什么会是C?
12.以下程序的输出结果是 ( )
#include<stdio.h">
#define PT 5.5
#define S(x) PT*x*x
main ( )
{ int a=1,b=2;
printf("%4.1f\n",S(a+b));} A.49.5 B.9.5 C.22.0 D.45.0 答案为B,为什么?定义宏时参数没有用圆括号括起来是怎么算的?
14.下列程序的输出结果是()
#include"stdio.h"
f(int a)
{ int b=0;static c=3;
a=c++,b++;
return(a);}
main ( )
{ int a=2,i,k;
for (i=0;i<2;i++)
k==f(a++);
printf("%d\n",k); }
A.3 B.0 C.5 D.4 答案为D,怎么来的?
17.下列程序的输出结果是()
#include"stdio.h"
#define f(x) x*x
main ( )
{int a=6,b=2,c;
c= f(a)/f(b);
printf("%d\n",c); }
A.9 B.6 C.36 D.18 答案为C,不知怎么的出来的?宏定义时参数没有用圆括号括起来是怎么算的? 展开
#include"stdio.h"
void fun(int a,int b,int c)
{a=456;b=567;c=678; }
main( )
{int x = 10,y =20,z=30;
fun(x,y,z);
printf("%d%d%d",x,y,z);
}
A. 30,20,10 B. 10,20,30 C. 456,567,678 D. 678,567,456 答案是A,为什么会是A?
10.以下程序的输出结果是 ( )
#include"stdio.h"
int abc(int u ,int v);
main( )
{ int a=24,b=16,c;
c=abc(a,b);
printf ("%d\n",c);}
int abc(int u ,int v)
{int w;
while(v)
{w=u%v;u=v;v=w;}
return u; } A.6 B.7 C.8 D.9 答案为C,为什么会是C?
12.以下程序的输出结果是 ( )
#include<stdio.h">
#define PT 5.5
#define S(x) PT*x*x
main ( )
{ int a=1,b=2;
printf("%4.1f\n",S(a+b));} A.49.5 B.9.5 C.22.0 D.45.0 答案为B,为什么?定义宏时参数没有用圆括号括起来是怎么算的?
14.下列程序的输出结果是()
#include"stdio.h"
f(int a)
{ int b=0;static c=3;
a=c++,b++;
return(a);}
main ( )
{ int a=2,i,k;
for (i=0;i<2;i++)
k==f(a++);
printf("%d\n",k); }
A.3 B.0 C.5 D.4 答案为D,怎么来的?
17.下列程序的输出结果是()
#include"stdio.h"
#define f(x) x*x
main ( )
{int a=6,b=2,c;
c= f(a)/f(b);
printf("%d\n",c); }
A.9 B.6 C.36 D.18 答案为C,不知怎么的出来的?宏定义时参数没有用圆括号括起来是怎么算的? 展开
4个回答
展开全部
9,x,y,z为实际参数,a,b,c为形式参数,在调用的时候取的是实际参数的值,所以A
10,w=u%v=8;u=v=16;v=w=8;继续循环;w=u%v=0;u=v=8;v=w=0;循环结束(v=0)return u = 8;
12,宏定义就是一模一样的抄下来的,S(a+b):PT*x*x:PT*a+b*a+b:PT*1+2*1+2=9.5;
14, a=c++,b++;这句话没看太懂;
17, c= f(a)/f(b):c= a*a/b*b=6*6/2*2=36;
10,w=u%v=8;u=v=16;v=w=8;继续循环;w=u%v=0;u=v=8;v=w=0;循环结束(v=0)return u = 8;
12,宏定义就是一模一样的抄下来的,S(a+b):PT*x*x:PT*a+b*a+b:PT*1+2*1+2=9.5;
14, a=c++,b++;这句话没看太懂;
17, c= f(a)/f(b):c= a*a/b*b=6*6/2*2=36;
更多追问追答
追问
你好,非常感谢你的帮助!
第9题的x,y,z输出为什么是30,20,10,而不是10,20,30 ?
12. S(a+b):PT*x*x:到PT*a+b*a+b是怎么得来的,还是没看懂啊 ?不是pt*(a+b)*(a+b)?
14.a=c++,b++;是题目中就这样给的
17. c= f(a)/f(b):c= a*a/b*b=6*6/2*2=36;,f(a)=6*6=36,f(b)=2*2=4,两数相除怎么得到36的?
追答
你好
9,抱歉,答案是B,没看清楚
12,宏定义是照样搬过来的,PT*x*x:到PT*a+b*a+b,不会自己给你加括号
14, k==f(a++)不是复制而是对比,k的值不会改变,题目有错
17,与12是一样的,宏定义是照样搬过来的,而不是和你想的一样,c= f(a)/f(b)即c= a*a/b*b=6*6/2*2=36,宏定义不会帮你加括号的,多看看讲解宏定义的例子你就会明白的
展开全部
啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意一楼回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询