一个C语言问题,给我解释一哈,#define f(x) 1+x+x*x#includevoid main(){int a=2,b=3;printf("%d\n",f(a+b));}上面程序的结果是17,程序中的宏定义是如何执行的,f(a+b)与上面的f(x)形式不同,我就不明白是如何执行的

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 05:41:11
一个C语言问题,给我解释一哈,#definef(x)1+x+x*x#includevoidmain(){inta=2,b=3;printf("%d\n",f(a+b));}上面程序的结果是17,程序中

一个C语言问题,给我解释一哈,#define f(x) 1+x+x*x#includevoid main(){int a=2,b=3;printf("%d\n",f(a+b));}上面程序的结果是17,程序中的宏定义是如何执行的,f(a+b)与上面的f(x)形式不同,我就不明白是如何执行的
一个C语言问题,给我解释一哈,
#define f(x) 1+x+x*x
#include
void main()
{
int a=2,b=3;
printf("%d\n",f(a+b));}
上面程序的结果是17,
程序中的宏定义是如何执行的,
f(a+b)与上面的f(x)形式不同,我就不明白是如何执行的了.

一个C语言问题,给我解释一哈,#define f(x) 1+x+x*x#includevoid main(){int a=2,b=3;printf("%d\n",f(a+b));}上面程序的结果是17,程序中的宏定义是如何执行的,f(a+b)与上面的f(x)形式不同,我就不明白是如何执行的
#define f(x) 1+x+x*x是宏定义,代入时是这样:
f(a+b)=1+a+b+a+b*a+b=1+2+3+2+3*2+3=17
注意,这里代入时,不是(a+b)而是a+b.因为是f(a+b),不是f((a+b)).

就是:1+2+3+2+3*2+3=17
你是不是认为是
1+(2+3)+(2+3)*(2+3)=31 啊?
注意没有括号

楼上正解
宏定义是完全的原文代换,没有优先级概念。

一个C语言问题,给我解释一哈,#define f(x) 1+x+x*x#includevoid main(){int a=2,b=3;printf(%d ,f(a+b));}上面程序的结果是17,程序中的宏定义是如何执行的,f(a+b)与上面的f(x)形式不同,我就不明白是如何执行的 一个C语言计算问题 哪位大虾可以帮我解释一道C语言的题目?我看不懂啊...给... 谁能给我解释这句C语言:length=((length8))-2;,其中length是一个字长度的数据 C语言问题:c=(a!=b) 是什么意思 解释 C语言,帮我解释语句, C语言问题.求解释为什么选A. c语言问题两个勾出的句子不理解求解释 程序的词语第一个问题,c++里一共有多少个词,什么表达方式,函数等等都包含在内,谁给我一个完整的表格,还有php的,至于C+的什么历史,那就不用告诉我了,百度里有,呵呵.第二个问题,这种语言词 请问:C语言编程 b&=0x3f,这个式子怎么解释呢?同仁们都辛苦了,可分数只能给一个哈, 一个C语言程序的解释问题,三个数取最大值的其中有一段max=a;if(max 编一个C语言程序:“给任意一个数,求其绝对值” 这个题目怎么做,C语言会的给我说下啊4. 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案.【程序】 #include #define T(c) (((c) >= '0') && ((c) 一个关于AE的简单问题 ---遮罩形状请问AE里面的“遮罩形状”下的参数表示什么意思:“范围限制”里面的上下左右;还有下面那外形请通俗简单的语言给我解释下, 量变引起质变,谁能用正规语言给我解释哈 谁能给我个TC中的C语言库函数大全?要有中文解释作用的?本人英语差! C语言求解释 C语言求解释