C语言之形参和实参
一 形参与实参
1).定义
形参:形式参数。
就是定义函数的时候,写在函数名小括号后面的参数叫形参
实参:实际参数。
就是调用函数的时候,调用函数时写在函数名小括号后面的参数就叫实参
2).注意项
a.实参既可以放常量,也可以放变量,还可以放表达式;形参:它其实可以理解为就是这个函数的局部变量
b.实参给形参传值,其实只是相当于给函数的形参(局部变量)赋值
c.值传递:在函数内改变了形参的值,不会影响到外面的实参
d.在C语言中,除了数组以外,所有的类型作为实参传递都是值传递
二 有参函数
带参数的函数定义语法:
void 函数名(类型 参数名){
函数体;
}
应用场景:当函数完成某个功能必须要外界传入一些数据的时候,就用参数
tips:代码例子如下
#include <stdio.h>
/*
* 判断一个数是不是水仙花数
*/
void isFlower(int num){
int bai = num / 100;
int shi = num / 10 % 10;
int ge = num % 10;
//如果 百*百*百 + 十*十*十 + 个*个*个 等于这个数
if( bai*bai*bai + shi*shi*shi + ge*ge*ge == num){
//就是水仙花数
printf("%d是水仙花数\n",num);
}else{
// 否则 不是水仙花数
printf("%d不是水仙花数\n",num);
}
}
//2、写一个函数,求指定某个数到某个数之间所有的整数的累加和
//如:3到8,算出3+4+5+6+7+8 = ?
void getN2MSum(int n,int m){
int sum = 0;
if(n < m){ //n比m小的情况
for (int i=n; i<=m; i++) {
sum += i;
}
}else{ //m比n小的情况
for (int i=m; i<=n; i++) {
sum += i;
}
}
printf("%d到%d之间的和为%d\n",n,m,sum);
}
// 3、用函数来实现判断一个年份是不是闰年
void isRunYear(int year){
if( year % 400 ==0 || (year%4==0 && year %100!=0) ){
printf("%d年是闰年\n",year);
}else{
printf("%d年是平年\n",year);
}
}
int main(int argc, const char * argv[]) {
//调用语法:函数名(实参列表);
isFlower(200);
getN2MSum(100,1);//10+11+12....+20
isRunYear(1900);
return 0;
}
C语言之形参和实参的更多相关文章
- C语言关于形参与实参,以及系统堆栈的关系
- C语言形参跟实参详解
形参与实参今天我们来说下c语言形参与实参的区别,形参跟实参理解的话也很简单,但是好多同学关于这个知识点都是一知半解,没有真正的去透彻,一问都知道,但在真正引用的时候还会出现很多问题,而百度的时候又会说 ...
- C语言形参和实参的区别(非常详细)
如果把函数比喻成一台机器,那么参数就是原材料,返回值就是最终产品:从一定程度上讲,函数的作用就是根据不同的参数产生不同的返回值.这一节我们先来讲解C语言函数的参数,下一节再讲解C语言函数的返回值.C语 ...
- C语言入门(8)——形参与实参
对于带参数的函数,我们需要在函数定义中指明参数的个数和每个参数的类型,定义参数就像定义变量一样,需要为每个参数指明类型,并起一个符合标识符命名规则的名字.例如: #include <stdio. ...
- C语言中函数声明、形参、实参
函数原型: 原型prototype是函数的声明:描述了函数的返回值与参数: 函数原型说明了两点: 1.该函数的返回值 2.该函数的参数及其类型 ++++++++++++++++++++++++++++ ...
- 计算机二级-C语言-字符数字转化为整型数字。形参与实参类型相一致。double类型的使用。
//函数fun功能:将a和b所指的两个字符串分别转化成面值相同的整数,并进行相加作为函数值返回,规定只含有9个以下数字字符. //重难点:字符数字转化为整型数字. #include <stdio ...
- 计算机二级-C语言-对二维数组数据进行处理。对文件进行数据输入。形参与实参。
//函数fun的功能为:计算x所指数组中N个数的平均值(规定所有数都为正数),平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并输出. //重难点:形参与实参之间,是否进行了 ...
- 嵌入式-C语言基础:理解形参和实参的区别
#include<stdio.h> //实参:函数原型中声明函数后面带的参数 int test(int x)//函数原型 { //函数体 printf("test里面的x地址=% ...
- JavaScript中函数的形参和实参的实现原理剖析
我们都知道JS里面参数的传递是可以不一样的,比如我们有一个函数: <script type="text/javascript"> function one(a,b,c) ...
随机推荐
- C++中出现的计算机术语4
adaptor(适配器) 一种标准库类型.函数或迭代器,使某种标准库类型.函数或迭代器的行为类似于第二种标准库类型.函数或迭代器.系统提供了三种顺序容器适配器:stack(栈).queue(队列)以及 ...
- python初始化MySQL数据库模板
很基础,但是经常用到,记录一下,省得每次手打 #!/bin/env python # -*- encoding=utf-8 -*- import MySQLdb # Database info hos ...
- 使用SQL Server 2005数据库管理工具 - 初学者系列 - 学习者系列文章
本文讲述使用SQL Server 2005 Express数据库管理工具的使用. 1.打开数据库管理工具 2.选择下面的SQL Server 身份验证,因为在安装数据库的时候设置了sa的密码. 3.选 ...
- 个人总结js客户端验证
//郭泽峰个人总结总结(2012-12-5): //备注:当 regu是字符串时应示例对象RegExp,否则的话 var emailReg =/在此加上正则/ //验证邮箱 function Chec ...
- Nutch搜索引擎Solr简介及安装
Nutch搜索引擎(第2期)_ Solr简介及安装 1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的 ...
- Asp.Net MVC 3
Asp.Net MVC 3 wcf基础教程之 契约(合同)Contract 摘要: 在前几篇博客中我有说到服务的寄宿,就是服务要运行起来必须采取的几种方式,相当于我们可以照葫芦画瓜的效果运行一个w ...
- springmvc国际化 基于请求的国际化配置
springmvc国际化 基于请求的国际化配置 基于请求的国际化配置是指,在当前请求内,国际化配置生效,否则自动以浏览器为主. 项目结构图: 说明:properties文件中为国际化资源文件.格式相关 ...
- mac os apache 配置方法详细介绍
我使用的Mac OS X版本是10.8.2,Mac自带了Apache环境. 启动Apache 设置虚拟主机 启动Apache 打开“终端(terminal)”,输入 sudo apachectl -v ...
- Nginx 配置基于域名的虚拟
编辑配置文件 vi /etc/nginx/nginx.conf user www www; worker_processes 2; error_log logs/error.log not ...
- C# 添加敏感词
public class CheckStreamReader { //使用的数据: private static HashSet<string> hash = new HashSet< ...