| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1077 人关注过本帖
标题:一个很简单的代码,为什么会提示出错?到底错在哪里呢?
只看楼主 加入收藏
hao02171990
Rank: 2
等 级:论坛游民
帖 子:17
专家分:17
注 册:2012-6-20
收藏
得分:0 
2012-08-14 11:52
stophin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:227
专家分:618
注 册:2010-3-26
收藏
得分:0 
define不能加分号
2012-08-14 13:20
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
一般的#define往往被放在.h中,这种错误,到时你怎么查。现在是写在.c或.cpp中,能够一眼看到,才有运气看得出来,否则,打破你的头都想不到居然是#define的问题。C/C++建议#define的宏标识符用大写字母,用意就是特别提醒读代码的人意识到这是宏,存在某种危险,必要时应该查看宏的展开。如果它真是如楼主所理解的那样是视为常量变量,就不需要这样——事实上宏不是变量,更不是函数!

授人以渔,不授人以鱼。
2012-08-14 13:40
chuanglan
Rank: 2
等 级:论坛游民
威 望:2
帖 子:91
专家分:29
注 册:2012-8-14
收藏
得分:0 
谁说typedef不用分号的?宏定义才不需要,还有宏定义不是不能用分号,关键在于怎么用?需不需要用#define Circle {
int i;\
puts("please input the radius");\
scanf("%d",&i);  \
return 2*PI*i; }\
这样也是可以的;
2012-08-14 13:45
chuanglan
Rank: 2
等 级:论坛游民
威 望:2
帖 子:91
专家分:29
注 册:2012-8-14
收藏
得分:0 
当然你还要明白一点就是宏定义只是简单代换,先把代替的内容代到源代码中去,然后再编译。。
2012-08-14 13:46
孟忠斐
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-8-14
收藏
得分:0 
#define n 5;相当于  把n定义为5;
2012-08-14 17:34
快速回复:一个很简单的代码,为什么会提示出错?到底错在哪里呢?
数据加载中...
 
   



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

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