www问答网
所有问题
c语言宏定义一个问题
为什么z和c的值是5和7。具体运算过程是什么的
举报该问题
推荐答案 2019-06-04
宏定义——原模原样展开(替换)
# define X 5(编译器见到X就换成5再继续编译)
# define Y X+1(编译器见到Y就换成X+1,也就是5+1,再继续)
Z,C同理
那么Z=(5+1*5)/2 = 5
C = 5+1*5/2 = 7(整型)
追问
c为什么是7了
追答
printf("%d\n",C);//这句把C当做整型输出
你可以换成printf("%f\n",C);再试试
追问
懂了
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://www.wendadaohang.com/zd/15GnnAGd3n44A53K1G.html
其他回答
第1个回答 2019-06-04
预定义只作简单的替换,即z=(x+1*x)/2=5,c以此类推。
相似回答
C语言宏定义
判断的题,为什么选B?
答:
C语言中有明确规定,
宏定义是利用#define命令,用一个指定的标识代替一个字符串
。对应到题目上就是#define 标识符 字符串,所以PI是标识符,3.1415926是字符串。所以这题选B 关于C选项,如果3.1415926不在宏函数定义中,那么它就是一个常量,只是因为它在#define命令中,所以它是一个字符串。A选项...
c语言 宏定义
的
问题
答:
这样可以确保不会出错,但是,即使使用了这种
定义
,这个
宏
依然有可能出错,例如使用TABLE_MULTI(a++)调用它,他们本意是希望得到(a+1)*(a+1)的结果,而实际上呢?我们可以看看宏的展开结果: (a++)*(a++),如果a的值是4,我们得到的结果是5*6=30。而我们期望的结果是5*5=25,这又出现了
问题
。
C语言宏定义问题
。
答:
第
一个
程序里,
定义
了
宏
,因此,printf("%d\t",pingfang(a++)); 这句就可以等价为:printf("%d\t",a++*a++);a=1;所以第一个a++返回的值是1,之后加1,因此第二个a++返回的值为2,所以就打印出了1*2,打印出了2。再循环a=3,同样的运算过程,打印出3*4,即打印出12。等等 第二个...
c语言宏
的
定义
中i++
问题
。
答:
define SQ(y) ((y)*(y))void main(){ int i=
1
; while(i<=5) printf("%d\n",SQ(i++));}第一步 i=1 输出 SQ(i++)即((i++)*(i++))=1 然后执行了两次i++所以 i=3 第一步 i=3 输出 SQ(i++)即((i++)*(i++))=9 然后执行了两次i++所以 i=5 第一...
C语言
中关于
宏定义
的一道计算题
答:
首先宏只负责替换,不负责计算。题目中替换后就是2*2+3 =7,他不会帮你计算2+3=5,而只是把2+3放到应该替换的地方
c语言宏定义一个问题
答:
宏定义
——原模原样展开(替换)define X 5(编译器见到X就换成5再继续编译)define Y X+1(编译器见到Y就换成X+1,也就是5+1,再继续)Z,
C
同理 那么Z=(5+1*5)/2 = 5 C = 5+1*5/2 = 7(整型)
c语言
中
宏定义问题
答:
宏定义
就是在编译预处理的时候用于替换定义的字符串。像这样后面有几个空格隔开的宏定义是可以的,但必须是字符串。如#define abc “adb efg hijk”如#define abc “adf”“dasf”“dsf”会将后面的字符串连接起来成为“adfdasfdsf”
C语言宏定义问题
答:
用2替换N 用2+
1
替换M 用2*2+1+1替换M printf("%d,%d,%d\n",2*2+1+1,2+1,2);NUM=2*2+1+1=6
宏
是原样替换 如果想要得到你要的答案 需要对程序进行如下修改 include<stdio.h> define N (2)define M (N+1)define NUM (2*M+1)main(){ printf("%d,%d,%d\n",NUM,M,N);...
(
C语言
)关于#DEFINE的
问题
答:
define MIN(x,y) (x)<(y)?(x):(y)int i=10,j=15,k;k=10*MIN(i,j)实际上被编译成:k = 10*(i)<(j)?(i):(j)而10*i=100 大于 j=10,所以k=j=15;如果想得出期望的结果,应该这样写:k=10*(MIN(I,j));第二个
定义
:define M(x,y,z) x*y+z int a=1,b=2,
c
=...
大家正在搜
c语言的宏定义如何定义
宏定义是c语言语句吗
c语言宏定义的几个坑和特殊用法
c语言宏定义格式
c语言宏定义计算
c语言宏定义函数
c语言宏定义的例子
c语言宏定义用法规则
c语言题目
相关问题
C语言的宏定义问题
C语言宏定义!有个很深入的问题!
c语言宏定义问题
C语言中宏定义的问题
C语言宏定义的问题
C语言宏定义问题
关于C语言宏定义的问题
c语言 宏定义及多个文件的问题