C语言return的用法详解,C语言函数返回值详解
return 语句的一般形式为:
return 表达式;
或者:
有没有return (表达式);
( )都是正确的,为了简明,一般也不写( )。例如:return max;
return a+b;
return (100+200);
对C语言返回值的说明:
1) 没有返回值的函数为空类型,用void表示。例如:为了使程序有良好的可读性并减少出错, 凡不要求返回值的函数都应定义为 void 类型。void func(){
printf("http://c.biancheng网站站点" rel="nofollow" />
int a = func();
2) return 语句可以有多个,可以出现在函数体的任意位置,但是每次调用函数只能有一个 return 语句被执行,所以只有一个返回值(少数的编程语言支持多个返回值,例如Go语言)。例如:
如果//返回两个整数中较大的一个
int max(int a, int b){
if(a > b){
return a;
}else{
return b;
}
}
a>b成立,就执行return a,return b不会执行;如果不成立,就执行return b,return a不会执行。3) 函数一旦遇到 return 语句就立即返回,后面的所有语句都不会被执行到了。从这个角度看,return 语句还有强制结束函数执行的作用。例如:
第 4 行代码就是多余的,永远没有执行的机会。//返回两个整数中较大的一个
int max(int a, int b){
return (a>b) ? a : b;
printf("Function is performed\n");
}
下面我们定义了一个判断素数的函数,这个例子更加实用:
prime() 是一个用来求素数的函数。素数是自然数,它的值大于等于零,一旦传递给 prime() 的值小于零就没有意义了,就无法判断是否是素数了,所以一旦检测到参数 n 的值小于 0,就使用 return 语句提前结束函数。#include <stdio.h>
int prime(int n){
int is_prime = 1, i;
//n一旦小于0就不符条件,就没必要执行后面的代码了,所以提前结束函数
if(n < 0){ return -1; }
for(i=2; i<n; i++){
if(n % i == 0){
is_prime = 0;
break;
}
}
return is_prime;
}
int main(){
int num, is_prime;
scanf("%d", &num);
is_prime = prime(num);
if(is_prime < 0){
printf("%d is a illegal number.\n", num);
}else if(is_prime > 0){
printf("%d is a prime number.\n", num);
}else{
printf("%d is not a prime number.\n", num);
}
return 0;
}
return 语句是提前结束函数的办法。return 后面可以跟一份数据,表示将这份数据返回到函数外面;return 后面也可以不跟任何数据,表示什么也不返回,仅仅用来结束函数。
更改上面的代码,使得 return 后面不跟任何数据:
#include <stdio.h>
void prime(int n){
int is_prime = 1, i;
if(n < 0){
printf("%d is a illegal number.\n", n);
return; //return后面不带任何数据
}
for(i=2; i<n; i++){
if(n % i == 0){
is_prime = 0;
break;
}
}
if(is_prime > 0){
printf("%d is a prime number.\n", n);
}else{
printf("%d is not a prime number.\n", n);
}
}
int main(){
int num;
scanf("%d", &num);
prime(num);
return 0;
}
prime() 的返回值是 void,return 后面不能带任何数据,直接写分号即可。
- 随机文章
- 龙弟弟马尔代夫(龙弟弟游玩马尔代夫,粉丝为其打call)
- 黄磊马尔代夫小镇(黄磊将在马尔代夫小镇担任旅游大使)
- 茂名 矿坑 中国马尔代夫(茂名矿坑打造中国版马尔代夫)
- 保定深山马尔代夫(保定深山旅游区:探秘中国的马尔代夫)
- 丽兹酒店马尔代夫(丽兹酒店进驻马尔代夫,新航点亮相!)
- 迪拜 马尔代夫 比较(迪拜和马尔代夫:旅游度假胜地的比较)
- 占豪 马尔代夫(占豪 再现马尔代夫:探秘度假胜地美景与文化)
- 马尔代夫风格照片(用照片带你穿越感受马尔代夫的风情)
- 马尔代夫餐厅着火(马尔代夫一餐厅发生火灾,多人受伤)
- 介绍马尔代夫节日(马尔代夫庆祝年度佳节——雷达洛芒节)
- 宗申 马尔代夫(宗申打造进军马尔代夫市场)
- 南昌马尔代夫飞机(南昌直飞马尔代夫,开启梦幻海岛之旅)
- 去马尔代夫来姨妈(来马代疗养:姨妈当不了旅行的绊脚石)
- 怀孕 马尔代夫(在马尔代夫备孕的心路历程)
- 泰国出发马尔代夫(从泰国出发,前往马尔代夫的旅游攻略)
- 名嘴解说马尔代夫(名嘴马达加斯加:探秘神秘的马尔代夫)
- 日本马尔代夫图片(日本摄影师的美丽马尔代夫海滩作品集)
- 浦东直飞马尔代夫(浦东直达马尔代夫,梦幻度假圆梦之旅)
- 登录马尔代夫网址(登录马尔代夫网站,寻找梦幻岛屿之旅)
- 磁县马尔代夫舞蹈(磁县市民尽显热情,共舞马尔代夫风情)
- 地名 马尔代夫 Male 039(马尔代夫首都Male回归日常,游客逐渐增多)
- 彩虹夫妇马尔代夫(同性恋夫妇在马尔代夫度假时欢度七夕)
- 舒淇马尔代夫写真(舒淇惊艳马尔代夫,性感写真大放送!)
- 澳门马尔代夫图片(澳门和马尔代夫旅游胜地美景尽收眼底)
- 金义都市马尔代夫(探索马尔代夫,享受金义都市奢华体验)
- 莒南马尔代夫小孩(莒南的孩子们在马尔代夫享受难忘假期)
- 适合亲子马尔代夫(带娃去马尔代夫游,畅玩海岛亲子乐!)
- 随州广水马尔代夫(随州广水有哪些去马尔代夫的好去处?)
- 广州马尔代夫费用(广州前往马尔代夫旅游需要多少费用?)
- 马尔代夫主场设施(马尔代夫设立主场设施,备战相关赛事)
