return 0;的报错

cherryljr 2012-12-31 08:22:00
可能这个问题很白痴,可我真的不懂诶。
这个程序:
# include <stdio.h>
# include <stdlib.h>
void main ()
{
int num;
scanf("%d",&num);
char str[25];
itoa(num, str, 10);
printf("The number 'num' is %d and the string 'str' is %s. /n" , num, str);
}
如果没有加上return 0;就是对的,加上之后VC6就报错了,这是为什么啊?
...全文
5496 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cherryljr 2012-12-31
  • 打赏
  • 举报
回复
多谢哈,程序没认真看诶
pengfoo 2012-12-31
  • 打赏
  • 举报
回复
int main()
{
   //是dsjdjdfj
   return 0;
}
就对了
zhcosin 2012-12-31
  • 打赏
  • 举报
回复
引用 1 楼 hsz871204 的回复:
void main () 因为函数头这里的void是空的意思,就是说明这个叫做main的函数是没有返回值的,而如果你在函数体里加上一句return 0;就表示,到这一步我要退出函数体,并且返回一个返回值:0 而编译器这时候就会想:你前面又跟我说这个函数没有返回值,在现在又叫我返回一个值过去,这不是矛盾吗?于是,它就报错了!
++,编译器也不是傻子的,它只会把程序员当傻子。
hsz871204 2012-12-31
  • 打赏
  • 举报
回复
void main () 因为函数头这里的void是空的意思,就是说明这个叫做main的函数是没有返回值的,而如果你在函数体里加上一句return 0;就表示,到这一步我要退出函数体,并且返回一个返回值:0 而编译器这时候就会想:你前面又跟我说这个函数没有返回值,在现在又叫我返回一个值过去,这不是矛盾吗?于是,它就报错了!

70,040

社区成员

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

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