同样的C代码在VC++6.0和codeblocks运行出来不一样?
voidmain()这一句在vc中正常,但是在codeblocks中说“mainmustreturnint是什么意思?”,我函数最后没有要求返回值啊。。...
void main()这一句在vc中正常,但是在codeblocks中说“main must return int是什么意思?”,我函数最后没有要求返回值啊。。
展开
2个回答
展开全部
请你务必改掉这个坏习惯,main()函数的返回值必须定义为int型,这是C99的规范。
更多追问追答
追问
也就是说main()一定要写成int main(),然后后面加上return 0;吗?那void main语句和public void main语句算什么?能详细说说嘛?
追答
这些都是错误的定义。ANSI C99规范中main函数只能采用以下两种定义形式:
1.
int main( void ) /* 无参数形式 */
{
...
return 0;
}
2.
int main( int argc, char *argv[] ) /* 带参数形式 */
{
...
return 0;
}
如果你是初学者,建议你不要看谭浩强的书。这本书对初学者的作用是弊大于利,编书者的自身水平不高,且缺少规范意识。书中经常出现void main()、在main()中声明其他函数、不同类型指针直接赋值等等语句,这些都是不符合规范的。时代不断在进步,谭浩强的书已经不适合现在的C语言环境了,尽信书不如无书。你会发现像void main()之类的语句在Visual Studio中会直接报错的。
另外public static void main()应该是Java的语句吧?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询