18. 有以下函数定义: int fun(,double a ,double b) { return a*b; }18. 有以下函数定义: int fun(,double a ,double b){ return a*b; } 若以下选项中所用变量都以正确定义并赋值,错误的函数调用时( ) A. if(fun(x,y)){.} B. z=fun(fun(x,y),fun(x,y)); C. z=fun(fun(x,y)*x,y) ; D.fun(x,y);答案是D,为什么?24 .下列程序的输出结果是() #include"stdio.h" #define SUB(X,Y)(X)* Ymain( ){int a=3,b=4; printf ("%d\n",SUB(a++,b++));}A.12 B.15 C.16 D. 20 答案为A,是怎么算的?25.下列程序的输出结果是() #include"stdio.h" i

问题描述:

18. 有以下函数定义: int fun(,double a ,double b) { return a*b; }
18. 有以下函数定义:
int fun(,double a ,double b)
{ return a*b;
} 若以下选项中所用变量都以正确定义并赋值,错误的函数调用时( )
A. if(fun(x,y)){.} B. z=fun(fun(x,y),fun(x,y));
C. z=fun(fun(x,y)*x,y) ; D.fun(x,y);
答案是D,为什么?
24 .下列程序的输出结果是()
#include"stdio.h"
#define SUB(X,Y)(X)* Y
main( )
{int a=3,b=4;
printf ("%d\n",SUB(a++,b++));}
A.12 B.15 C.16 D. 20 答案为A,是怎么算的?
25.下列程序的输出结果是()
#include"stdio.h"
int fun(int x,int y)
{static int m=0,i=2;
i+=m+1;
m=i+x+y;
return m;}
main( )
{int j=4,m=1,k;
k=fun(j,m); printf ("%d,",k);
k=fun(j,m); printf ("%d\n",k);
答案为8和17,不知道17是怎么算出来的?