if(b[i]>=b[j])
num++;
上面这一段里面的num++某些情况下有可能导致num等于10,后面你又把num作为a的索引,a的访问就会越界,还有最后输出时i的循环是从10开始的,也会导致a的访问越界,这两点是出错的原因
至于怎么改,不懂你的意图,没法改
return 表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
作用1:表示返回,这个程序可以结束了,可以不带参数,如果你的成员运行到这里,你就不往后运行了,可以加一个return语句,就不会再执行了。
作用2:返回指定类型的值,在定义函数的时候不是有 int af();int 这里是返回值,return 后面接的就是这个返回值,这个函数执行后就可以给别的变量赋值了,他的值就是return 后面的值。
扩展资料
如果实在不需要函数返回什么值,就需要用void声明其类型。
补充:如果你函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值。
例如:
1、非void型
int f1(){int i=1;return 1;//return(i); //这样也可以
}
2、void型
void f2()
{int i=1;//return;//这样也可以,不要这一句也可以
}
有时即使被调用函数是void类型 被调函数中的return也不是毫无意义的。
举例:
#include "stdioh"
void function()
{printf("111111");
return;
printf("222222");
}
main()
{function();
}
运行结果为:屏幕上只输出一串数字1 而没有2。 但是如果去掉function函数中的return语句 就可以同时输出一串数字2。
这里的return其实还有个退出该程序的作用。也就是说在printf("111111");后面加了个return,就表示结束该函数,返回主函数。
参考资料:
以上就是关于C++结果输出完毕到return 0出错,求解全部的内容,包括:C++结果输出完毕到return 0出错,求解、C语言中的 return 0; 是什么意思、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)