免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9677 | 回复: 15
打印 上一主题 下一主题

[C] void在FreeBSD环境下怎么没用啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-02 21:15 |只看该作者 |倒序浏览
今天在freeBSD下写一个程序,其中有用到void
#include"stdio.h"
void man()
{
      int i,a,b,c;
      printf("a b c:");
      scanf("%d%d%d",&a,&b,&c);
      for(i=0;i<a;i++)
          switch(b){
          case 1:
                  if(c+i>5)
                       printf("%c",'y');
                  else
                       printf("%c",'x');
                  break;
          case 2:
                  if(c+i<5)
                       printf("%c",'y');
                  else
                       printf("%c",'x');
                  break;
          default:
                  printf("%c",'x');
          }
   
}

这是一个考研题,可是编译时提示什么void错误,反回的是int。
请问为什么会这样啊,在windows下是没有问题的。

论坛徽章:
1
黑曼巴
日期:2020-02-27 22:54:26
2 [报告]
发表于 2009-12-02 21:18 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
3 [报告]
发表于 2009-12-02 21:19 |只看该作者
main的返回值从来都是int,从来没说过是void

论坛徽章:
0
4 [报告]
发表于 2009-12-02 21:21 |只看该作者

回复 #3 OwnWaterloo 的帖子

我看很多windows编程书都有
void main(void)

改成上面那行也不行。难道在unix下没有void?

论坛徽章:
0
5 [报告]
发表于 2009-12-02 21:26 |只看该作者
恩,你是不是还看谭浩强的TC教你这么用了?反正无论C99/C89是怎么规定的,无论gcc是否支持这种写法,你都要坚持void main(void)?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
6 [报告]
发表于 2009-12-02 21:27 |只看该作者
原帖由 jgcjsw 于 2009-12-2 21:21 发表
我看很多windows编程书都有
void main(void)

国人的吧?  有错很正常


原帖由 jgcjsw 于 2009-12-2 21:21 发表
改成上面那行也不行。难道在unix下没有void?


k & r 没有void, C89加入。
unix下支持c89的C编译器都有void。

论坛徽章:
0
7 [报告]
发表于 2009-12-02 21:29 |只看该作者
非常负责任的告诉你,Mac下有void,因为Mac的Userland很多来自FreeBSD,您老就别让我闹心了,去看本智商稍微高一点的人写的书吧。
为了维护BSD的荣誉,我不惜废话一次,告诉你:C99是默认的main必须是int返回值。gcc的参数也是如此,如果你非要追究,我不介意和你一起去看gcc那砣代码。

论坛徽章:
0
8 [报告]
发表于 2009-12-02 21:33 |只看该作者
呵呵,谢谢各位。
我也不是非得要用void,而是刚用FreeBSD没多久。所以有问题想不明白,所以。。。。

论坛徽章:
0
9 [报告]
发表于 2009-12-02 22:46 |只看该作者
Plan 9 也是 void main() ……
但 Plan 9 这种 void main() 属于少数与 C99 不完全兼容的实现,通常你就应该用 int main()。

考研如果考这种题,那么“我已经无话可说”。

论坛徽章:
0
10 [报告]
发表于 2009-12-02 22:58 |只看该作者

回复 #9 langue 的帖子

大姐,我要打击你 引用别人的话
哦?Plan9还没死么?哦,那么快了,马上!

-----------------------------------------------------------
说实话,Plan9的设计思想很先进,不过实际使用就...
-----------------------------------------------------------
既然还用void main(),我无语了。
--------------------------------------------------------------------
据说Plan9用的不是gcc,是啥?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP