注册 登录
编程论坛 C++教室

return的用法

rrrigeipr 发布于 2010-05-26 00:17, 1897 次点击
//=========================================
//f0207
//素数判断
//=========================================
#include<iostream>
using namespace std;
//-----------------------------------------
void main()
{
    int num;
    cout<<"please input a number"<<endl;
    cin>>num;
    for(int i=2;i<num;i++)
    {
        if(num%i==0)
            cout<<num<<"isn't a prime"<<endl;
        return 1;
    }
    cout<<num<<"is a prime."<<endl;
}
这个程序中return的用法是什么啊。
9 回复
#2
南国利剑2010-05-26 01:46
回复 楼主 rrrigeipr
楼主的那句return,我觉得数值应该改为0比较好。

在主函数里return的数值是返回给操作系统的,返回0代表你的应用程序正常结束,返回非0代表你的应用程序非正常结束。
操作系统会根据这个数值来判断下一步改做什么?
比如你返回了0代表的程序正常结束了,那操作系统就执行下一个进程;如果你返回非0代表你的程序非正常结束,那操作系统就可能重新运行这个进程。

不知道说清楚了没有?
#3
code_guy2010-05-26 11:58
主函数类型都是VOID 了  还返回个球啊
#4
gaoce2272010-05-26 14:54
判断的。
#5
2010-05-26 23:29
1 你的main 是无返回值的,所以 不可以 return 1或者return 0.应该直接return;
2 我感觉你的程序判断就是错误的,只是判断是不是可以被2整出,然后就结束了。加入是9呢,9不是素数,但在你的程序里你把9当做了素数。感觉return 应该放到最后。
#6
fanfan3202010-05-27 11:30
你的主函数是void,无返回值,不应该用return.如果去掉void,可以return 0 和return 1,是返回给操作系统的,0 表示正常,1表示非正常。ok???
#7
最近不在2010-05-27 18:59
程序代码:
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
void main()
{
    int num;
    cout<<"please input a number"<<endl;
    cin>>num;
    for(int i=2;i<num;i++)   //这里的范围可以缩小到num/2,甚至sqrt(num)
    {
        if(num%i==0)
        {
            cout<<num<<" is not a prime."<<endl;
            break;
        }
    }
    if(i == num)  //用这个语句判断是质数
    {
        cout<<num<<" is a prime."<<endl;
    }
}
#8
jin4442423742010-05-31 17:59
有这样的版主是我们这些菜鸟的幸福
#9
lintaoyn2010-06-01 22:16
void main()
这个写法虽然能能过编译,但标准C++和C里都没有对它有定义
#10
Isilendil2010-06-02 00:45
VC++ 6.0下写的?
如果是void main (),那就return ; 好了。
不过这样不标准,最好还是int main (),然后return 0;
否则,有的编译器下可能会有问题
1