...x*x) main( ) { int i; i=f(4+4)\/f(2+2); printf("%d\\n",i...
得 (4+4*4+4)\/(2+2*2+2) 所以结果是 3
...x*x main( ) { int i; i=f(4+4)\/f(2+2); printf("%d\\n",i); }...
答案是:A 这是因为宏定义只是简单的数据带入而已,不同于函数 f(4+4)\/f(2+2)=4+4*4+4\/2+2*2+2=28
...x*x main( ) { int i; i=f(4+4)\/f(2+2); printf(“%d”,i); }...
1、那么也就是f(4+4)代表着x是4+4,x*x替换一下后就变成了4+4*4+4 2、同理f(2+2);替换为了2+2*2+2 3、最后f(4+4)\/f(2+2);就是4+4*4+4\/2+2*2+2 并且由于其中的除号"\/"优先级比+号高,所以得出结果是28 二、printf("%d\\n",i);prtinf是产生格式化输出的函数,%d是...
...main() { int i; i=f(4+4)\/f(2+2); printf("%d\\n",i);}结果不是64...
i=f(4+4)\/f(2+2) \/\/f(4+4)被替换成4+4*4+4,f(2+2)同理 =4+4*4+4\/2+2*2+2 =4+16+2+4+2 =28
...x*x main() { int i; i=f(4+4)\/f(2+2); printf("%d\\n",i); }...
28
...x*x main( ){ int i; i=f(4+4)\/f(2+2); printf(“%d”,i);} 结果...
i=f(4+4)\/f(2+2);根据宏f(x)x*x 替换的 i= 4+4*4+4\/2+2*2+2 = 28 没有括号的 宏不是函数 他是直接替换的 所以最好这样#define f(x)((x)*(x))这样就不会出错了
#define f(x) (x*x) main() { int i1,i2; i1=f(8)\/f(4); i2=f(4+4...
你是四川的?你一定要注意括号,没括号算的时候就不能加括号,第一个是(8*8)\/(4*4)=4 第二个是 (4+4*4+4)\/(2+2*2+2)=24\/8=3
全国计算机等级考试三级笔试试题及答案?
D) 3*pow(n,x)\/(2*x-1)(19) 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是( )。A)printf(“x=%d\\n”,x); B) printf(“x=%1d\\n”,x);C)printf(“x=%8dL\\n”,x); D)printf(“x=%LD\\n”,x);(20) 若有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k)...
#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)
C语言宏定义计算问题
答案是21 因为你定义的f(x) x*x ,而你下面的i=f(4+4)\/(2+2)中是讲4+4作为x的值,所以展开的时候是这样的, i=4+4*4+4 \/(2+2),所以结果是 i=4+16+1 ,当然是21了