C++关键词,return的问题

zhengqingpingangel 2012-09-16 10:09:48
下面是关于判断两个数组是否相等的程序:
请问for循环中的return,怎么理解?为什么for循环中一旦遇到return 0语句,就直接跳出了循环?

int main() {
const size_t array_size=10;
int arr1[array_size], arr2[array_size];
size_t ix;

cout << "Enter " << array_size << " numbers of array1 "<< endl;
for(ix=0; ix!=array_size; ++ix){
cin>> arr1[ix];
}
cout << "Enter " << array_size << " numbers of array2 "<< endl;
for(ix=0; ix!=array_size; ++ix){
cin>> arr2[ix];
}

for(ix=0; ix!=array_size; ++ix){
if(arr1[ix] != arr2[ix])
{
cout << "Array1 is not equal to array2. "<<endl;
return 0; }
}

cout << "Array1 is equal to array2." << endl;
return 0;
}
...全文
145 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ydc__ 2012-09-16
  • 打赏
  • 举报
回复
因为 return 是函数出口 (main也是一个函数)....

startservice 2012-09-16
  • 打赏
  • 举报
回复
函数直接返回,里面的for循环肯定也断了。
q272911092 2012-09-16
  • 打赏
  • 举报
回复
我用你的代码调试了下,没问题啊
xiaohuh421 2012-09-16
  • 打赏
  • 举报
回复
return 是表明一个函数的出口.

他不但会跳出for循环, 还会结束整个函数的调用,返回到上一层.

在你这个程序中, return就直接退出main函数了, 程序也就结束了
ZiberL 2012-09-16
  • 打赏
  • 举报
回复
return 0是函数结束返回值啊。。。。以为着函数结束了,在这里就是main函数结束了,也就是程序结束了。。
GeekWay 2012-09-16
  • 打赏
  • 举报
回复
如果你理解了main函数最后的“return 0;” 的含义,红色标记的“return 0;”也就理解了,两个“return 0;”是一个作用:main函数调用结束,返回给操作系统(因为是操作系统调用的main函数)。
阿七哥 2012-09-16
  • 打赏
  • 举报
回复
在计算机中,0代表错误,1代表正确。同时也要理解return的作用
Goclis 2012-09-16
  • 打赏
  • 举报
回复
return 会结束当前函数 并返回到调用当前函数的代码中继续执行
main也是个函数
herman~~ 2012-09-16
  • 打赏
  • 举报
回复
return 结束素正常的!
kandy_ye 2012-09-16
  • 打赏
  • 举报
回复
return 是函数的出口,一旦调用就会从函数返回至调用次函数的地址处

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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