
第一堂C++课~弄不懂return 0 正常退出是什么意思~有什么用
说是return~但是为什么程序运行的时候没有显示0~另外为什么这样就正常退出了~我初学的什么都不懂~请大神解释一下~最好能打个比方还是不懂为什么输入一句return0就...
说是return~但是为什么程序运行的时候没有显示0~另外为什么这样就正常退出了~我初学的什么都不懂~请大神解释一下~最好能打个比方
还是不懂为什么输入一句return 0 就表示程序运行正确~写程序的时候又不能检测到程序是不是正确的 展开
还是不懂为什么输入一句return 0 就表示程序运行正确~写程序的时候又不能检测到程序是不是正确的 展开
5个回答
展开全部
return 0 的0是给调用程序的人或者说程序看的,用于使调用程序的人知道程序是正常结束了还是出现错误……
一个直观的理解方法是把int main (){return 0;}编译生成的程序放在D盘根目录下,假设程序名为a。再把由int main (){return 1;}编译生成的程序放在D盘根目录下,假设程序名为b
在命令提示符里面输入
D:\a&&echo successful exit
然后看结果,再输入
D:\b&&echo successful exit
然后看结果,比较两个结果,应该就可以明白了(&&的意思是如果其左边的程序正常退出,就执行其右边的程序,否则不执行;echo就是打印它右边的参数)
如果不需要这种用法的话,C++和C的较新标准都支持在main函数中省略return 0 ……
==============================================================
int main()
{
int a;
cin>>a;
if(cin.fail()) {return 1;}//判断是否读取失败,失败则返回1,不执行下面的语句
else {cout<<a;return 0;}//否则输出读取的值,并返回0
}
写程序时确实不知道程序是否会正常运行,但可以在正常运行时返回0,而在出现非正常情况时返回非0数,以把情况报告给调用方。当然也可以在程序中就把错误给处理掉,但返回非0数给调用方可以使调用程序的人也了解到程序运行时出了什么状况……
一个直观的理解方法是把int main (){return 0;}编译生成的程序放在D盘根目录下,假设程序名为a。再把由int main (){return 1;}编译生成的程序放在D盘根目录下,假设程序名为b
在命令提示符里面输入
D:\a&&echo successful exit
然后看结果,再输入
D:\b&&echo successful exit
然后看结果,比较两个结果,应该就可以明白了(&&的意思是如果其左边的程序正常退出,就执行其右边的程序,否则不执行;echo就是打印它右边的参数)
如果不需要这种用法的话,C++和C的较新标准都支持在main函数中省略return 0 ……
==============================================================
int main()
{
int a;
cin>>a;
if(cin.fail()) {return 1;}//判断是否读取失败,失败则返回1,不执行下面的语句
else {cout<<a;return 0;}//否则输出读取的值,并返回0
}
写程序时确实不知道程序是否会正常运行,但可以在正常运行时返回0,而在出现非正常情况时返回非0数,以把情况报告给调用方。当然也可以在程序中就把错误给处理掉,但返回非0数给调用方可以使调用程序的人也了解到程序运行时出了什么状况……
展开全部
直白点说,return 0 的0是给系统看的,不是打印在屏幕上给你看的。系统规定,如果这个程序结尾的时候返回了0,系统就知道这个程序运行结束了,并且是正常的~
针对你的问题补充,我也补充一点~
你用C++语言写了个程序,点了运行,就发现在控制台上输出了一些东西。但是你并不知道你点了运行以后具体发生了什么。不晓得你是用啥软件写C++的,就假设是VS2010吧。当你点运行之后,VS2010要先编译你的代码(通俗点说就是看你的程序),检查有无错误。如果无错误则VS2010运行你的代码,然后你才能看到屏幕上弹出一个黑框框,让你输入东西,或者显示一些结果。那么VS2010运行你的代码的时候,就是按照执行顺序一条条来的,如果读到return 0 的话,VS2010就知道你的程序,即你要做的事情,已经做完了,并且0表示是正常做完了可以结束了,不是遇到异常才结束了(return -1就可以表示程序遇到异常而终止,比如说你输入除数为0了,则可以有if语句判断除数为0则return -1,然后程序就结束了)。
针对你的问题补充,我也补充一点~
你用C++语言写了个程序,点了运行,就发现在控制台上输出了一些东西。但是你并不知道你点了运行以后具体发生了什么。不晓得你是用啥软件写C++的,就假设是VS2010吧。当你点运行之后,VS2010要先编译你的代码(通俗点说就是看你的程序),检查有无错误。如果无错误则VS2010运行你的代码,然后你才能看到屏幕上弹出一个黑框框,让你输入东西,或者显示一些结果。那么VS2010运行你的代码的时候,就是按照执行顺序一条条来的,如果读到return 0 的话,VS2010就知道你的程序,即你要做的事情,已经做完了,并且0表示是正常做完了可以结束了,不是遇到异常才结束了(return -1就可以表示程序遇到异常而终止,比如说你输入除数为0了,则可以有if语句判断除数为0则return -1,然后程序就结束了)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main函数最后的return 0意思是告诉操作系统本程序已经成功完成任务了,这是告诉操作系统,不是你,而且要显示东西,必须有打印语句。 这条语句可以这样写 return EXIT_SUCCESS;
如果return 返回的是其他值或者EXIT_FAILURE,则表示出错。
标准C++规定,main函数的return语句可以不写。。。。。
也就是说:
int main() {
} //这里没有写return 0,同样是正确的。
#include <iostream>
int main() {
/*一个函数的返回值只能由函数调用者使用*/
/*main函数是程序的主函数,它是由操作系统调用的*/
/*所以main函数的返回值只能由它的调用者使用,也就是*/
/*只能由操作系统使用*/
return 0; // 可以写成return EXIT_SUCCESS, 或者不写.告诉操作系统本程序运行成功。。。。。
}
//要在屏幕上显示数据、文字,必须有打印语句,不然任何东西是不会显示在屏幕上的,
你说的main函数的返回值为什么没有显示在屏幕上,原因有二:1.main函数的返回值不是给你使用的,更不是给你看的,是给操作系统的使用的。2.要在屏幕上显示数据文字,必须有打印语句.
有的集成开发环境允许编程者看到程序的返回值,但是一般来说,人是看不到返回值的,这个是给操作系统用的,要判断程序出错可宜采用其他概念,比如异常。
如果return 返回的是其他值或者EXIT_FAILURE,则表示出错。
标准C++规定,main函数的return语句可以不写。。。。。
也就是说:
int main() {
} //这里没有写return 0,同样是正确的。
#include <iostream>
int main() {
/*一个函数的返回值只能由函数调用者使用*/
/*main函数是程序的主函数,它是由操作系统调用的*/
/*所以main函数的返回值只能由它的调用者使用,也就是*/
/*只能由操作系统使用*/
return 0; // 可以写成return EXIT_SUCCESS, 或者不写.告诉操作系统本程序运行成功。。。。。
}
//要在屏幕上显示数据、文字,必须有打印语句,不然任何东西是不会显示在屏幕上的,
你说的main函数的返回值为什么没有显示在屏幕上,原因有二:1.main函数的返回值不是给你使用的,更不是给你看的,是给操作系统的使用的。2.要在屏幕上显示数据文字,必须有打印语句.
有的集成开发环境允许编程者看到程序的返回值,但是一般来说,人是看不到返回值的,这个是给操作系统用的,要判断程序出错可宜采用其他概念,比如异常。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#define PREMATURE -1 // 自定义,表示系统过早退出
#define ORDINARY 1 // 其他普通事件发生
int main()
{
return 0 ; // 0返回给操作系统,表示程序正常结束了
return PREMATURE ;// -1返回给系统,一般表示某种错误发生
return ORDINARY ; // 1返回给系统
}
这些值一般是由在平台开发调试的时候再用.
初学的话,不要被这些东西分心掉.直接忽略掉
#define ORDINARY 1 // 其他普通事件发生
int main()
{
return 0 ; // 0返回给操作系统,表示程序正常结束了
return PREMATURE ;// -1返回给系统,一般表示某种错误发生
return ORDINARY ; // 1返回给系统
}
这些值一般是由在平台开发调试的时候再用.
初学的话,不要被这些东西分心掉.直接忽略掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
标准的c++主函数一般都是
int main()
{
return 0;
}
当程序正常执行时,最后会把0返回给操作系统,如果出现异常会返回其他的值。
至于你说的如果要在屏幕上显示0,应该使用 cout<<0;语句。
int main()
{
return 0;
}
当程序正常执行时,最后会把0返回给操作系统,如果出现异常会返回其他的值。
至于你说的如果要在屏幕上显示0,应该使用 cout<<0;语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询