| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 590 人关注过本帖
标题:define 的问题
只看楼主 加入收藏
ADALE
Rank: 2
等 级:新手上路
威 望:4
帖 子:483
专家分:0
注 册:2005-11-18
收藏
 问题点数:0 回复次数:4 
define 的问题
在这里我首先祝各位新年快乐!^-^

I want to say that thank you for helping me so much .If without you I don't think I can learn C pass the final exam so easy.So I really thinks.I still need your helps in the futhur.Meanwhile I hope I can help the new comer,though I just learn C one term.





# include <stdio.h>
# define sw(x,y) {x^=y; y^=x; x^=y;}
void main ()
{
int a=10,b=01;
sw (a,b);
printf ("%d,%d\n",a,b);
}
“^”是什么意思。



# include <stdio.h>
# define MIN(x,y) (x)>(y)?(x):(y)
# define T(x,y,r) x*r*y/4
void main ()
{
int a=1,b=3,c=5,s1,s2;
s1=MIN(a=b,b-a);
s2=T(a++,a*++b,a+b+c);
printf ("%s,%d\n",s1,s2);
}

可以写一下过程给我看吗



#define PI 3.14159

#define S(r) PI*(r)*(r)

.....

area=S(a);

这个预处理错在哪
搜索更多相关主题的帖子: helping include without really color 
2006-01-28 21:07
kankanba
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-10-24
收藏
得分:0 

C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移

后面的是带参数的宏,看着眼晕。

2006-01-29 00:08
ADALE
Rank: 2
等 级:新手上路
威 望:4
帖 子:483
专家分:0
注 册:2005-11-18
收藏
得分:0 

不懂.....


喜欢宁静的平凡生活
2006-01-29 12:03
lhlovelk
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-1-12
收藏
得分:0 
忍啦!!!!
都是些逻辑思路!!!!!!!!!!!

2006-01-30 17:54
黑白格子布
Rank: 1
等 级:新手上路
威 望:1
帖 子:67
专家分:0
注 册:2005-12-11
收藏
得分:0 
第一个"^"是按位异或,那三个运算式的结果其实就是交换两个变量的值

至于第2个
带参宏替换是直接用宏体替换语句的
也就是s1=(a=b)>(b-a)?(a=b):(b-a)
也就是b赋给a得3,判断是否大于b-a为2,判断大于,所以得3,s1为3
这个时候a已经是3了
再运行第2个s2=T(a++,a*++b,a+b+c);
替换后就是,a++*a*++b*a+b+c/4
你按运算符的结合顺序做就好了

第3个我没看出什么问题呀

2006-02-01 17:56
快速回复:define 的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015867 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved