求助:关于LCC-win32的报错
最近在入门C语言 由于要实际操作一下
编译器用的是LC-win32 3.0版 碰到了一些小问题
我编一个计算三个数平均值的小程序

#include <stdio.h>
int average(int a,int b,int c);

void main(void)
{
    int a=1,b=2,c=3;
    int a2=1234,b2=2345,c2=3456;
    int a3=9876,b3=2345,c3=1;
    int y = average(a,b,c);
    int y2= average(a2,b2,c2);
    int y3= average(a3,b3,c3);
    printf("\n the average is %d",y);
    printf("\n the average is %d",y2);
    printf("\n the average is %d",y3);
}

int average2(int a,int b,int c)
{
    return (a+b+c)/3;
}

代码反复检查都没错误
但连接的时候总是显示连接不上 返回错误代码-1

后来感觉可能是自己编错了 就重新写了一行很短的代码

#include <stdio.h>
void main (void)
{
printf("\nhello C!");
}

设置输出目录路径是F:\gta\lcc
这个程序够简单了 甚至连终止语句都没写
连接的时候还是返回代码-1(Return code -1)
显示信息“Cannot open output file (输出目录名)”

计算平均值的程序也是一样 返回这个错误信息
warmonkey版主建议我用GCC 可是我不会用Linux下的软件啊= =
我还是比较喜欢LCC 有没有哪位大虾能帮我解答一下 谢谢了
来自 科创茶话
2010-9-19 15:51:01
1楼
折叠评论
加载评论中,请稍候...
折叠评论
rb-sama(作者)
2楼
恩 谢谢
但是我还是不太清楚他的返回代码 是什么地方出错了呢?
折叠评论
加载评论中,请稍候...
折叠评论
3楼
我没用过LCC,不过据说标准C要求main()函数有返回值,
你试试int main(void)看行不行。
折叠评论
加载评论中,请稍候...
折叠评论
4楼
Cannot open output file 。。。 是不是目录不存在或者有权限啊
折叠评论
加载评论中,请稍候...
折叠评论
5楼
gcc是最标准的编译器,mingw环境或者cygwin都是好东西。
有个图形界面版本的Gcc开发环境Dev-C++非常好用,值得一试。这个内部就是用mingw做的。
同时还支持gdb调试,非常适合初学者。
这个在2005年就已经停止更新了,学习C语言,当编辑器使用,做一些控制台界面程序,足够了。
记得装在C盘根目录下,减小麻烦。这个是绿色软件,卸载不会留下注册表垃圾。
折叠评论
加载评论中,请稍候...
折叠评论
6楼
吐个槽。。。 DevC++是用Delphi写的。。。
折叠评论
加载评论中,请稍候...
折叠评论
2010-9-20 12:47:25
rb-sama(作者)
7楼
引用第3楼n_2于2010-09-19 16:20发表的  :
我没用过LCC,不过据说标准C要求main()函数有返回值,
你试试int main(void)看行不行。


main函数的返回值是void啊 参数也是void 这个没有错
折叠评论
加载评论中,请稍候...
折叠评论
rb-sama(作者)
8楼
引用第4楼我说要有光于2010-09-19 16:26发表的  :
Cannot open output file 。。。 是不是目录不存在或者有权限啊

恩 也许是这个问题
我爸爸原来让维修员装机的时候 把很多后台操作权限都设置的很高
cannot open output file的话 我最开始也觉得好像是设置错了
但是后来换了很多个都不行 都是显示cannot open.....
后来又装了turbo 也是打开之后没办法正常运行

连接的时候总是会出问题
如果真的是权限出的问题 应该在哪里设置权限呢?
折叠评论
加载评论中,请稍候...
折叠评论
2010-9-23 13:01:59
2010-9-23 13:01:59
9楼
引用第7楼rb-sama于2010-09-20 12:47发表的  :


main函数的返回值是void啊 参数也是void 这个没有错


其实main函数的标准声明形式是: int main(void); / int main(int argc, char *argv[]); / int main(int argc, char *argv[], char *env[]); (env为环境变量列表)
void main(void)是非标准的,main函数的返回值是告诉父进程其退出状态,0为正常,其余值为异常。void main在gcc上会给出警告,而在g++上则直接拒绝进行编译。
折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
ID:{{user.uid}}
{{user.username}}
{{user.info.certsName}}
{{user.description}}
{{format("YYYY/MM/DD", user.toc)}}注册,{{fromNow(user.tlv)}}活动
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png