|
![]() | 作者: huangwen [huangwen]
![]() |
登录 |
学习语言的宏里面我有好多问题不能解决? 如 #define M 2 #define N M+1 #define NM N+N/2 main() { int c; c=NM; print("%d",c); } 问c等于多少 请高手们给我一点步骤的解法好吗? 具体一点可以吗? |
地主 发表时间: 06/12 10:28 |
![]() | 回复: moonair [moonair] ![]() |
登录 |
宏定义#DEFINE只能做简单的替换,所以可以写成 1: C=MN 2: C=N+N/2 3: C=M+1+M+1/2 4: C=2+1+2+1/2 5: C=5 |
B1层 发表时间: 06/13 15:41 |
![]() | 回复: hehanhua [hehanhua] ![]() |
登录 |
答案是不是等于呀各位高手 |
B2层 发表时间: 06/13 15:53 |
![]() | 回复: jiuxy [jiuxy] ![]() |
登录 |
55555555555555555555555 垃圾~~~~~ |
B3层 发表时间: 06/13 15:54 |
![]() | 回复: lxpf [lxpf] ![]() |
登录 |
恩 就是5~ |
B4层 发表时间: 06/13 18:54 |
![]() | 回复: hybird [hybird] ![]() |
登录 |
倒! |
B5层 发表时间: 06/14 03:10 |
![]() | 回复: hacker521 [hacker521] ![]() |
登录 |
怎么连5都不知道呀 |
B6层 发表时间: 06/14 06:37 |
![]() | 回复: xhw_73 [xhw_73] ![]() |
登录 |
这个简单的问题都不懂! |
B7层 发表时间: 06/14 09:51 |
![]() | 回复: hcz [hcz] ![]() |
登录 |
为什么不是等于3 |
B8层 发表时间: 07/01 20:16 |
![]() | 回复: cyh811122 [cyh811122] ![]() |
登录 |
这样的题直接往里带数就可以了,硬往里套! |
B9层 发表时间: 07/01 20:28 |
![]() | 回复: 286 [unique] ![]() |
登录 |
#define M 2 #define N M+1 #define NM N+N/2 main() { int c; c=NM; //<=>N+N/2 <=> M+1+M+1/2 print("%d",c); } 所以 M+1+M+1/2=2*M+1+1/2=2*2+1+1/2=5+1/2 由于C是整型,所以C=5+1/2=5 如果想让结果等于3。把第二行改为: #define N (M+1) |
B10层 发表时间: 07/02 09:21 |
![]() | 回复: hcz [hcz] ![]() |
登录 |
这个我到是看的懂啊,为什么5+1/2=5呢 [此贴被 胡作非为(hcz) 在 07月03日01时56分 编辑过] |
B11层 发表时间: 07/03 01:12 |
![]() | 回复: shesh [shesh] ![]() |
登录 |
当然了. 整型转换的问题. 1/2 = 0.5 被转为整型的时候就是0了. 5 + 0 = 5; |
B12层 发表时间: 07/03 09:04 |
![]() | 回复: hcz [hcz] ![]() |
登录 |
明白了 |
B13层 发表时间: 07/04 14:31 |
![]() | 回复: gls [gls] ![]() |
登录 |
还有在难点的题吗!? |
B14层 发表时间: 07/05 11:15 |
![]() | 回复: bailove [bailove] ![]() |
登录 |
为什么”胡作非为’会有金星啊 真的好郁闷~! |
B15层 发表时间: 07/05 12:29 |
![]() | 回复: hcz [hcz] ![]() |
登录 |
菜鸟就不能有金星啊 |
B16层 发表时间: 07/05 19:40 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号