C++主函数int main()中调用了一个int型的函数,为什么运行到该函数时程序没有结束?
补充:随便写一个吧:
int setemp()
{ int yu; yu++; return yu;}
int main()
{ int h; setemp(); h++; cout<<h<<endl; return 0;}
这个主函数里面setemp函数有一个return,为什么程序不在这里结束,而是继续运行?
答案:int setemp()
{
.......
return yu;
}
int main()
{
int h;
setemp();
h ++;
cout<<h<<endl;
return 0;
}
你没有正确了解程序的运行。
运行程序。编译器都是从main(主函数,也是入口)开始,接着进入setemp函数(),setemp函数中的return yu;只是把yu的值返回。不代表程序结束,只有main函数的return才会被编译器默认为程序的结束。其它任何函数的return,都只是把返回值,返回给调用函数。
main函数中的
setemp();
改为:
int temp = setemp();
cout << temp << endl;
你可以看看结果,这才是setemp函数()中return的意义。
如果你要在setemp函数中退出运行的话。把return yu;改为exit(1); 。
其他:死循环, 或者 死锁, 或者, 某个操作需要很长时间 把代码晒出来,估计你运行到子函数里面就死循环了。 只有运行到main函数的return 程序才会结束
上一个:想学习C语言,但不知道从哪开始,谁能指导一下
下一个:c语言中,下面程序运行的结果是什么?