☺☺关于main函数的返回值☺☺
菜鸟一个,搜索了几篇关于main函数返回值的帖子,大概了解了,但还是想自己编个测试程序调试一下加深理解,但不知道怎么设置或调试可以显示出main的返回值,比方说这个int...
菜鸟一个,搜索了几篇关于main函数返回值的帖子,大概了解了,但还是想自己编个测试程序调试一下加深理解,但不知道怎么设置或调试可以显示出main的返回值,比方说这个
int main()
{
cout<<"test.\n";
return 0;
}
在哪里查看返回的0值?求救达人 展开
int main()
{
cout<<"test.\n";
return 0;
}
在哪里查看返回的0值?求救达人 展开
展开全部
返回值的作用
main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。下面我们在winxp环境下做一个小实验。首先编译下面的程序:
int main( void )
{
return 0;
}
然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo%ERRORLEVEL%”,回车,就可以看到程序的返回值为0。假设刚才编译好的文件是a.exe,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非0值,重新编译后输入“a && dir”,则dir不会执行。因为&&的含义是:如果&&前面的程序正常退出,则继续执行&&后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是int main的好处。如果你有兴趣,也可以把main函数的返回值类型改成非int类型(如float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入a || dir的话,则表示如果a异常退出,则执行dir。
main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。下面我们在winxp环境下做一个小实验。首先编译下面的程序:
int main( void )
{
return 0;
}
然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo%ERRORLEVEL%”,回车,就可以看到程序的返回值为0。假设刚才编译好的文件是a.exe,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非0值,重新编译后输入“a && dir”,则dir不会执行。因为&&的含义是:如果&&前面的程序正常退出,则继续执行&&后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是int main的好处。如果你有兴趣,也可以把main函数的返回值类型改成非int类型(如float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入a || dir的话,则表示如果a异常退出,则执行dir。
展开全部
只是单纯举个例子,递归调用main的例子,没有实际意义
int num=3;//全局变量
int main(){
num--;
int i=10;
if(num>=0)
int i=main();//递归调用main()
return 0;
}
设置断点以后调试可以看到i值的变化情况
在非递归调用main()的程序中,exit(0)和return 0;的用途是一样的,但是在递归调用main的程序中,exit(0)可以结束程序,而return 0;是结束当前main函数
int num=3;//全局变量
int main(){
num--;
int i=10;
if(num>=0)
int i=main();//递归调用main()
return 0;
}
设置断点以后调试可以看到i值的变化情况
在非递归调用main()的程序中,exit(0)和return 0;的用途是一样的,但是在递归调用main的程序中,exit(0)可以结束程序,而return 0;是结束当前main函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过操作系统来看返回值是通用方式
不过也可以通过程序自己显示
程序代码如下 (只用到标准C里面的内容)
#include <stdlib.h>
#include <stdio.h>
int code;
void my_exit (void)
{
printf ("retrun value is %d\n", code);
}
int main (void)
{
atexit (my_exit);
return code = 0; //或者其他的返回值 因为code = 0表达式的结果是code的值 然后把这个值传给return 所以跟return 0是一样的效果 只是多了个附作用就是给code赋值 好输出
}
不要觉得这里和直接打印0有什么区别
自己看atexit函数 是干什么吧 对你学习main也有帮助的
不过也可以通过程序自己显示
程序代码如下 (只用到标准C里面的内容)
#include <stdlib.h>
#include <stdio.h>
int code;
void my_exit (void)
{
printf ("retrun value is %d\n", code);
}
int main (void)
{
atexit (my_exit);
return code = 0; //或者其他的返回值 因为code = 0表达式的结果是code的值 然后把这个值传给return 所以跟return 0是一样的效果 只是多了个附作用就是给code赋值 好输出
}
不要觉得这里和直接打印0有什么区别
自己看atexit函数 是干什么吧 对你学习main也有帮助的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没想过main函数的返回值可以显示出来,
程序运行到main函数的返回值是表示该程序结束了,所以不能在main函数显示它的返回值。main函数的返回值是给系统的,即相当通知系统 程序正常结束。要查看返回值就在系统里看,具体方法我也不知道。。呵呵
程序运行到main函数的返回值是表示该程序结束了,所以不能在main函数显示它的返回值。main函数的返回值是给系统的,即相当通知系统 程序正常结束。要查看返回值就在系统里看,具体方法我也不知道。。呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
返回给runtime
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询