文档章节

C Primer Plus 第5章 运算符、表达式和语句 5.6 带有参数的函数

idreamo
 idreamo
发布于 2016/05/21 06:58
字数 488
阅读 91
收藏 1

程序清单 5.15 pound.c程序

/*pound.c --定义带有一个参数的函数*/
#include <stdio.h>
void pound(int n);
int main ()
{
    int times = 5;
    char ch = '!';
    float f = 6.0;
    pound (times);
    pound (ch);
    pound ((int) f);
    return 0;
}
void pound(int n)
{
    while (n-->0)
    printf("#");
    printf("\n");
}

如果函数不接受参数,函数头里的圆括号将包含关键字void。因为此函数接受一个int类型的参数,所以圆括号里包含一个名字为n的int类型变量的声明。

声明一个参数,就创建了一个被称为形式参数或形式参量的变量。在本例中形式参数是叫做n的int类型变量。函数调用pound(times)把times的赋给n。我们称函数调用传递一个值,这个值被称为实际参数或都实际变量。

参数与参量

对实际参数或实际参量使用术语参数;对形式参数或形式参量使用术语参量。遵循这个约定,我们可以说参量是变量,而参数是由函数调用提供的值,并且将它赋给相对应的参量。

函数中的变量名字是局部的,这意味着在一个函数里定义的名字不会与其他地方相同的名字发生冲突。

原型(prototype)是一个函数声明,它描述了函数的返回值和参数。

void pound(int n);

这个函数原型,说明了关于pound的两件事:

*函数没有返回值;

*函数接受一个int类型的参数。

因为编译器在main()使用pount()之前看到了这个原型,所以编译器知道pound()应该有什么样的参数;并且在需要使实际参数的类型与原型保持一致时,编译器会插入一个类型指派。例如,pound(3.859)将被转换为pound(3)。

© 著作权归作者所有

idreamo
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
C Primer Plus 第5章 运算符、表达式和语句 5.4 表达式和语句

5.4.1 表达式 表达式是由运算符和操作数组合构成的。最简单的表达式是一个单独的操作数,以此作为基础可以建立复杂的表达式。 每一个表达式都有一个值 C的一个重要属性是每一个C表达式都有一...

idreamo
2016/05/20
50
0
【C++】第6章 分支语句和逻辑运算符 知识总结

《C++ Primer Plus》第6章知识点总结 简单的知识不再进行赘述 逻辑表达式 逻辑OR运算符:|| 5>3 || 5>10 如果||左边表达式为1,则程序不计算右边表达式 逻辑AND运算符:&& 5>3 && 5>10 如果&...

qq_37792173
2017/09/27
0
0
关东升的《从零开始学Swift》3月9日已经上架

大家一直期盼的《从零开始学Swift》于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5 部...

tony关东升
2018/06/26
0
0
关东升的《《从零开始学Swift》即将出版

大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》《从零开始学Swift》将在《Swift开发指南》第1版的基础上添加Swift2.0的...

智捷课堂
2015/08/17
106
0
【C++】第5章 循环和关系表达式 知识总结

《C++ Primer Plus》第5章知识点总结 for循环 for(initialization; test-expression; update-expression) body 语句:age = 100; 表达式:age = 100 对于 for( int i=0 ;i<5 ;i++),这种语句......

qq_37792173
2017/09/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
902
16
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
27
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
12
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部