请问void的用法

booter 2002-12-28 08:18:53
有这样一个程序
#include<iostream.h>
void main()
{
int i(1),sum(0);
do{
sum+=i;
i++;
}while(i<=10);
cout<<"sum="<<sum<<endl;
}
void main()与void main(void)用法上有何区别?
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
俞庆平 2002-12-28
  • 打赏
  • 举报
回复
就本人所知,
void main()
{}
void main(void)
{}
并从目前的编译器角度来看,没有本质的区别。
只是在声明中 :
void main(void)是明确地向程序表态,这个函数不接受任何参数。
而void main()是隐式地表明此函数不带参数。
仅此而已。
如果不信,请打开VC,分别编译上述代码,并看其汇编代码,发现是相同的。
00401010 55 push ebp
00401011 8B EC mov ebp,esp
00401013 83 EC 40 sub esp,40h
00401016 53 push ebx
00401017 56 push esi
00401018 57 push edi
00401019 8D 7D C0 lea edi,[ebp-40h]
0040101C B9 10 00 00 00 mov ecx,10h
00401021 B8 CC CC CC CC mov eax,0CCCCCCCCh
00401026 F3 AB rep stos dword ptr [edi]
均是如上这段代码。
aiyinsitan 2002-12-28
  • 打赏
  • 举报
回复
void main(void)
main函数中的返回类型为空,并参数列表也为空
void main()
和上面一样的作用, 只是写法上的区别,
如果使用上面的方法为ANSI的规范,只是ANSI
为了兼容早先的C程序,同样接受第二种形式。
xiaoniaoleyuan 2002-12-28
  • 打赏
  • 举报
回复
void main() //是指这个函数没有返回值

void main(void) //是指这个函数既没有返回值也没有参数

在用法上没有什么区别吧,我也不知道说得对不对啊,帮你UP下啦!
mlsg 2002-12-28
  • 打赏
  • 举报
回复
void main()中的“void"意思是函数类型为空类型,而void main()中的"void"意思是函数类型已经确定,缺省为整型,而函数返回值为空。
kangde 2002-12-28
  • 打赏
  • 举报
回复
在C中省略main函数括号中的参数表示不接受参数,而在C++中如果没有参数则必须显式声明为void,否则表示可以接受参数。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧