鱼C论坛

 找回密码
 立即注册
查看: 2938|回复: 13

这两个程序有什么区别

[复制链接]
发表于 2014-8-4 13:12:54 | 显示全部楼层 |阅读模式
1鱼币
这两个程序有什么不一样?void到底有什么用?
#include<stdio.h>
main()
{
     printf("hello word");
}


#include<stdio.h>
void main()
{
     printf("hello word");
}


最佳答案

查看完整内容

在C中如果函数没有明确返回值时,默认返回整形。 输出的结果是hello word10,10表示的是成功输出字符数。如果你在demo()函数前加上void,这样明确说明返回值是void。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-4 13:12:55 | 显示全部楼层
在C中如果函数没有明确返回值时,默认返回整形。
#include <stdio.h>

demo()
{
        printf("hello word");
}

/*void demo()
{
        printf("hello word");
}*/

void main()
{
        printf("%d",demo());
}
输出的结果是hello word10,10表示的是成功输出字符数。如果你在demo()函数前加上void,这样明确说明返回值是void。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-4 14:07:42 | 显示全部楼层
没区别吧,一个是返回值为空,一个是系统默认的返回值为空
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-4 14:07:49 | 显示全部楼层
void为空的返回类型,就是函数结束时不返回任何东西。像int就是在结束时返回整型,double返回双精度浮点类型一样。如果函数里没有返回类型应该不叫做函数吧。所以第一个并不是函数,第二个才是函数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-4 18:48:09 | 显示全部楼层
这么说吧,第一个是大师偷懒的写法,第二个就是“砖家”的写法了。:shutup:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-4 19:42:25 | 显示全部楼层
流行语 发表于 2014-8-4 18:05
在C中如果函数没有明确返回值时,默认返回整形。
输出的结果是hello word10,10表示的是成功输出字符数。如 ...

我是新手,不怎么能听懂,那你说如果我写程序的时候加上void好呢,还是不加好呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-4 19:43:21 | 显示全部楼层
oggplay 发表于 2014-8-4 18:48
这么说吧,第一个是大师偷懒的写法,第二个就是“砖家”的写法了。

谢谢你的解答,对于我这样的新手来说,还是可以接受的{:7_168:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-5 18:41:16 | 显示全部楼层
cC标准问题
当troub c还盛行的时候一般就是你的第一个程序
然而现在最新的C11标准就不行了
我现在一般就简单点
#include<stdio.h>
#include<windows.h>

int main()
{
     system("pause");
     return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-5 21:24:38 | 显示全部楼层
第一个函数通俗来讲还是正确的  编译器默认类型为int  参数为void   但是第二个就是错的了  main函数规定必须有返回值  所以不可以用void
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-5 21:37:25 | 显示全部楼层
计机羊咩咩 发表于 2014-8-5 21:24
第一个函数通俗来讲还是正确的  编译器默认类型为int  参数为void   但是第二个就是错的了  main函数规定必 ...

可是小甲鱼就是这样写的呀
#include<stdio.h>
void main()
{
   printf("世界你好!");
}{:7_173:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-5 21:39:02 | 显示全部楼层
2764315761 发表于 2014-8-5 21:37
可是小甲鱼就是这样写的呀
#include
void main()

  在不同的标准下  有不同的结果   在C99下void main()这样就是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-5 23:17:02 | 显示全部楼层
# include <stdio.h>

int main(void)
{
    return 0;
}

最好这样写啰
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-4 09:36:16 | 显示全部楼层
通常函数分为两类:没有返回值的函数和有返回值的函数
没有返回值的函数用void表示,有返回值的函数(在函数体内有return返回值)要规定其返回值类型,比如int,有的编译器在没有规定返回值类型时默认返回int型。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-15 15:57:17 | 显示全部楼层
规则不同而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 23:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表