#define f(x) x*x main () { int a=6,b=2,c; c=f(a)/f(b): printf("%d\n",c); }

如题所述

第1个回答  2012-06-19
答案36;
步骤:
c=f(a)/f(b)=a*a/b*b=6*6/2*2=36

修改后代码
#include<stdio.h>

#define f(x) x*x

void main ()
{
int a=6,b=2,c;
c=f(a)/f(b);
printf("%d\n",c);
}本回答被网友采纳
第2个回答  2012-06-19
在宏定义的利用中,是简单的替换而已,有的时候不会达到你所要的效果
所有在定义宏的时候尽量多用几个括号,达到优先级的运算

#define f(x) x*x
#define f(x) ((x)*(x))
别看只是一个元素,要是调用的时候,用f(a+b)/f(c+d)的时候,你看效果,呵呵

#define add(x) x*x main(){int a=4,b=6,c=7,d=add(a+b)*c;printf...
define f(x) x*x main() { int a=6,b=2,c; c=f(a)\/f(b); printf("%d\\n",c);完整程序是:include "stdio.h"define f(x) x*x int main(){ int a=6,b=2,c;c=f(a)\/f(b);printf("%d\\n",c);return 0;} c=f(a)\/f(b); 实际上在预编译时把f(x)直接用x*x替...

...main () { int a=6,b=2,c; c=f(a)\/f(b): printf("%d\\n",c); }...
答案36;步骤:c=f(a)\/f(b)=a*a\/b*b=6*6\/2*2=36 修改后代码 include<stdio.h> define f(x) x*x void main (){ int a=6,b=2,c;c=f(a)\/f(b);printf("%d\\n",c);}

这个C程序结果是什么?为什么我算的结果是:9
36记住拆开 c = f(a)\/f(b) = a*a\/b*b = 6*6\/2*2 = 36

c语言 题目
int a=5; float x=3.14; a*=x*(‘E’ - ‘A’); printf(“%f\\n”,(float)a); A. 62.000000 B. 62.800000 C. 63.000000 D. 62 7、设有说明double(*p1)[N];其中标识符p1是( )。 A. N个指向double型变量的指针。 B. 指向N个double型变量的函数指针。 C. 一个指向由N个double型元素组成的...

C语言typedef是干吗的?
#define f(x) x*x main( ) { int a=6,b=2,c; c=f(a) \/ f(b); printf("%d \\n",c); } 以下程序的输出结果是: 36。 因为如此原因,在许多C语言编程规范中提到使用#define定义时,如果定义中包含表达式,必须使用括号,则上述定义应该如下定义才对: #define f(x) (x*x) 当然,如果你使用typedef...

...S(x) (x)*x*2 main(){int k=5,j=2;printf("%d,",S[k+j]); print...
"%d,",S[k+j]);“S[k+j]”应是“S(k+j)”正确答案是49,1(运行过)解析:S(K+J)就是将x的地方都替换为k+j,所以替换之后S(K+J)等同于(k+j)*k+j*k+j*2 = (5+2)*5+2*5+2*2=49 那么同理S(K-J)等同于(k-j)*k-j*k-j*2 = (5-2)*5-2*5-2*2=1 ...

#define f(x) x*x*x main() { int a=3,s,t; s=f(a+1);t=f((a+1...
要这样定义宏:#define f(x) (x)*(x)*(x)不然有二义性的。像你这样定义f(x) x*x*x;传f(a+1)实际上运行的是f(a)+f(1)

typedef struct {...}*Pstr; 这个指针是什么意思?
#define f(x) x*xmain( ){ int a=6,b=2,c; c=f(a) \/ f(b); printf("%d \\\\n",c);} 以下程序的输出结果是: 36。 因为如此原因,在许多C语言编程规范中提到使用#define定义时,如果定义中包含表达式,必须使用括号,则上述定义应该如下定义才对:#define f(x) (x*x) 当然,如果你使用typedef就没...

...#define f(x) x*x main( ) { int i; i=f(4+4)\/f(2+2); printf("%d...
答案是:A 这是因为宏定义只是简单的数据带入而已,不同于函数 f(4+4)\/f(2+2)=4+4*4+4\/2+2*2+2=28

#define f(x) x*x main() { int i; i=f(4+4)\/f(2+2); printf("%d\\n...
28

相似回答