| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1077 人关注过本帖
标题:一个很简单的代码,为什么会提示出错?到底错在哪里呢?
只看楼主 加入收藏
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:15 
一个很简单的代码,为什么会提示出错?到底错在哪里呢?
#include <stdio.h>
#define n 5;
int main(void)
{
    int i;

    for (i = 0; i <= n; ++i)
    printf("*");   

    return 0;
}
以下是错误代码:
--------------------Configuration: 图形输出 - Win32 Debug--------------------
Compiling...
图形输出.cpp
F:\VC++\图形输出.cpp(6) : error C2143: syntax error : missing ')' before '++'
F:\VC++\图形输出.cpp(6) : error C2059: syntax error : ';'
F:\VC++\图形输出.cpp(6) : error C2059: syntax error : ')'
F:\VC++\图形输出.cpp(7) : error C2146: syntax error : missing ';' before identifier 'printf'
Error executing cl.exe.

图形输出.obj - 4 error(s), 0 warning(s)
搜索更多相关主题的帖子: 图形 include return before 
2012-08-13 13:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
第2行

授人以渔,不授人以鱼。
2012-08-13 13:29
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:0 
#define  在使用的时候要加头文件么?
2012-08-13 13:31
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
不要加分号。你知道#define是干什么的吗,那么喜欢用,要用就要弄清楚怎么用才好。

授人以渔,不授人以鱼。
2012-08-13 13:32
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:0 
#define 定义一个全局的 字符常量!好像就是这个意思!
2012-08-13 13:34
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:0 
了解了,原来 #define , #typedef 这些后面都是不需要分号的!
2012-08-13 13:37
dsl975708035
Rank: 3Rank: 3
来 自:平凉
等 级:论坛游侠
帖 子:101
专家分:152
注 册:2012-8-3
收藏
得分:0 
第二行后的分号。。。。

唉,初三要停停了,舍不得啊。。
2012-08-13 13:38
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
#define是做文字搜索替换的,它把你后面出现n的地方即for (i = 0; i <= n; ++i)替换为for (i = 0; i <= 5;; ++i),知道咋错了?这就是编译器报告在第6行出错的原因,替换之后就在第6行,但#define把错误掩盖了,你根本没意识到其实问题出在第2行。说了那不是好东西,尽量少用的,现在这样碰过钉子知道小心些吧,还有更多奇葩错误等着你呢——如果你继续用这东西的话。


[ 本帖最后由 TonyDeng 于 2012-8-13 13:45 编辑 ]

授人以渔,不授人以鱼。
2012-08-13 13:38
li361li
Rank: 2
等 级:论坛游民
帖 子:35
专家分:43
注 册:2010-1-29
收藏
得分:0 
给跪了,居然有分号....
2012-08-13 15:35
yanjia927
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-8-13
收藏
得分:0 
宏定义不需要加分号
2012-08-13 15:57
快速回复:一个很简单的代码,为什么会提示出错?到底错在哪里呢?
数据加载中...
 
   



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

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