| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 432 人关注过本帖
标题:一个小问题。。。关于return的问题。
只看楼主 加入收藏
zzh2015
Rank: 1
来 自:江苏扬州
等 级:新手上路
帖 子:32
专家分:0
注 册:2015-4-7
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:3 
一个小问题。。。关于return的问题。
#include<stdio.h>
#include<math.h>
int isprime(int n);
int main(void)
{
    int i;
    for(i=2;i<100;i++)
    {
        if(isprime(i)&&isprime(i+2))
        {
            printf("[%-3d%3d]\n",i,i+2);
        }
    }
    return 0;
}
int isprime(int n)
{
    int i;
    for(i=2;i<=sqrt(n);i++)
    {
        if(n%i==0) return 0;
    }
    return 1;
}


这是一段代码,在定义函数的那一段里,return 0是什么意思?return 1又是什么意思?谢谢拉。
搜索更多相关主题的帖子: include return 
2015-05-05 19:56
mohun
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:49
专家分:125
注 册:2014-12-22
收藏
得分:3 
return 是函数的返回值,功能是结束函数的执行和返回一个值到主调函数。
你可以将它当做一个信号,就是你调用一个函数来帮你处理一个问题,当处理好之后,函数会反馈给你一个消息(具体是什么消息就要看你想让它告诉你什么了)。
return 0 就是返回一个0, return 1 就是返回一个1.
在if(isprime(i)&&isprime(i+2));语句中,isprime(i)就等于return返回的值,也就是isprime(i)==1或者isprime(i)==0;
2015-05-05 22:30
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
收藏
得分:3 
if(isprime(i)&&isprime(i+2))

函数返回值会返回到函数调用处,由if语句做判断。
如果i为素数且i+2为素数,返回1,执行if语句,即输出这两个数。如果有一个不为素数,返回0,即为if(0),不输出.

编程!编程!!编程!!!
重要的事情说三遍!!!!
2015-05-06 01:17
Erlosshex
Rank: 2
等 级:论坛游民
威 望:1
帖 子:17
专家分:10
注 册:2014-5-24
收藏
得分:4 
isprime函数是用于判断某个整数是否是素数
return 0相当于return False
return 1相当于return True

由于C语言中没有内定False和True,就算内定False和True,那么我们也会将False定义为0,True定于为非0(非0你就将它当成1)

比如这样宏定义
#define False 0
#define True 1

这时isprime可以定义成如下:
int isprime(int n)
{
    int i;
    for(i=2;i<=sqrt(n);i++)
    {
        if(n%i==0) return False;
    }
    return True;
}
2015-05-06 12:47
快速回复:一个小问题。。。关于return的问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014634 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved