c7---函数
//
// main.c
// 函数练习
//
// Created by xiaomage on 15/6/7.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h>
/*
【理解】写一个函数打印一朵玫瑰花
【理解】写一个函数打印N朵玫瑰花
【理解】写一个函数从键盘输入三个整型数字,找出其最大值
【理解】写一个函数求三个数的平均值
*/
void printRose()
{
printf(" {@}\n");
printf(" |\n");
printf(" \\|/\n");// 在C语言中\有特殊的函数, 它是一个转义字符
printf(" |\n");
} void printRoses(int value)
{
for (int i = ; i < value; i++) {
/*
printf(" {@}\n");
printf(" |\n");
printf(" \\|/\n");// 在C语言中\有特殊的函数, 它是一个转义字符
printf(" |\n");
*/
printRose();
}
} int getMax(int v1, int v2, int v3)
{
int temp = v1 > v2 ? v1 : v2;
int max = temp > v3 ? temp : v3;
return max;
} int average(int v1, int v2, int v3)
{
int average = (v1 + v2 + v3) / ;
return average;
}
int main(int argc, const char * argv[]) {
/*
// printRose();
int number = 5;
printRoses(number);
*/
/*
printf("请输入三个整数, 用逗号隔开, 以回车结束\n");
int num1, num2, num3;
scanf("%i,%i,%i", &num1, &num2, &num3);
int result = getMax(num1, num2, num3);
printf("result = %i\n", result);
*/ printf("请输入三个整数, 用逗号隔开, 以回车结束\n");
int num1, num2, num3;
scanf("%i,%i,%i", &num1, &num2, &num3);
int result = average(num1, num2, num3);
printf("result = %i\n", result);
return ;
}
//
// main.c
// 函数的调用过程
//
// Created by xiaomage on 15/6/7.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h>
/*
4个确定:
1.确定函数名称
2.确定形参列表
3.确定返回值
4.确定返回值类型
*/
// 注意: 形参列表中的变量只有当函数被调用时才会分配存储空间
// 形参列表中的每一个变量我们称之为, 形式参数, 简称形参
int average(int v1, int v2) //调用函数会分配一个内存空间,函数执行结束形参销毁,函数内存空间销毁。
{
int average = (v1 + v2) / ;
return average;
}
int main(int argc, const char * argv[]) {
// 需求: 求两个数的平均值
int a = ;
int b = ;
// 调用函数时传入的参数, 我们称之为实际参数, 简称实参
int result = average(a, b); //调用函数会分配一个内存空间
printf("result = %i\n", result);
return ;
}
//
// main.c
// main函数分析
//
// Created by xiaomage on 15/6/7.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h> // main是函数的名称, 是系统规定的名称, 系统启动程序就会调用名称叫做main的函数
// main函数只能由系统调用 ,不能手动调用 // 其实系统在启动程序的时候, 会给我们的程序传递一些参数
// argc : 就是系统传递进来的参数个数, 默认是1
// argv : 就是系统传递进来的参数实际的值, 默认是程序的名称,可以通过xcode编辑器来更改传进来的值,让程序启动就有一个默认的值,
int main(int argc, const char * argv[]) { printf("argc = %i\n", argc);
printf("argv = %s\n", argv[]);//代码的全路径
printf("argv = %s\n", argv[]); // return 结束函数
// 0 : 返回给操作系统, 如果返回0, 代表程序整除结束, 如果返回其它值代表程序非正常结束
return ;
}
c7---函数的更多相关文章
- 【逆向篇】分析一段简单的ShellCode——从TEB到函数地址获取
其实分在逆向篇不太合适,因为并没有逆向什么程序. 在http://www.exploit-db.com/exploits/28996/上看到这么一段最简单的ShellCode,其中的技术也是比较常见的 ...
- [汇编与C语言关系]2. main函数与启动例程
为什么汇编程序的入口是_start,而C程序的入口是main函数呢?以下就来解释这个问题 在<x86汇编程序基础(AT&T语法)>一文中我们汇编和链接的步骤是: $ as hell ...
- 关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法
curl函数库实现爬网页内容的链接在 http://www.cnblogs.com/linguanh/p/4292316.html 下面这个是没有name和id 标识的 <input type= ...
- linux下实现在程序运行时的函数替换(热补丁)
声明:以下的代码成果,是参考了网上的injso技术,在本文的最后会给出地址,同时非常感谢injso技术原作者的分享. 但是injso文章中的代码存在一些问题,所以后面出现的代码是经过作者修改和检测的. ...
- Python函数讲解
Python函数
- C语言学习020:可变参数函数
顾名思义,可变参数函数就是参数数量可变的函数,即函数的参数数量是不确定的,比如方法getnumbertotal()我们即可以传递一个参数,也可以传递5个.6个参数 #include <stdio ...
- PHP文件操作系统----主要的文件操作函数
一.文件操作系统概述 1.概述: php中的文件操作系统主要是对文件和目录的操作.文件在windows系统下分为3种不同:文件.目录.未知,在linux/unix系统下分为7种不同:block.cha ...
- 【228】◀▶ Excel 函数说明
官方帮助:Excel 函数(按字母顺序列出) 官方帮助:Excel 函数(按类别列出) 参考:EXCEL常用函数大全 01 N_ELEMENTS 表达式或者变量的元素个数. 02 DEFSYS ...
- 浏览器内置Console函数使用详解
浏览器内置Console函数比较好用:Chrome 和 FireFox(Firebug插件) 利用此功能可以像直接在面板里面运行JS一样(写法不同而已) 一.显示信息的命令 Firebug内置一个co ...
- etrace 跟踪程序函数动态执行流程
https://github.com/elcritch/etrace 窗口1: 监控窗口,执行监控程序,显示监控结果 [root@monitor example]# pwd /root/etrace- ...
随机推荐
- BPM不同表单之间子表的赋值
上次写的是同一个表单的子表之间赋值,这次是不同表单之间子表的赋值 首先,我们给需要赋值的表单添加一个复制按钮 $.MvcSheet.AddAction({ Action: &qu ...
- Arduino-1602-LiquidCrystal库
前言:LiquidCrystal是一个1602的IIC库,使用IIC协议可以极大节约用线数量,十分方便.当然,前提是1602要使用LCD1602 I2C模块. 一.库函数快速查询 LiquidCrys ...
- guice整合struts2,guice的使用(八)
平时我们习惯用了spring整合struts2,今天我们就来见识一下guice整合struts2吧. 看web.xml配置: <?xml version="1.0" enco ...
- Session版购物车+MVC局部刷新
效果图: 大致代码: <script type="text/javascript"> $(function () { LoadOrderDetailList(); } ...
- 用 JS + LeanCloud 给网页添加数据库(留言功能)
记录给自己网页添加留言功能的过程. 使用工具:LeanCloud,一个自带数据库和增删改查(CRUD)功能的后台系统. 1 在JS中引入LeanCloud官方库 在LeanCloud注册并添加应用的步 ...
- poj1094Sorting It All Out 拓扑排序
做拓扑排序的题目,首先要知道两条定理: 1.最后得到的拓扑数组的元素个数如果小于n,则不存在拓扑序列. (有圈) 2.如果一次入队的入度为零的点数大于1,则拓扑序列不唯一. (关系不确定) 本题有一 ...
- SQL SERVER数据库状态
一个SQL SERVER数据库会处于很多种状态,例如 ONLINE .RESTORING .RECOVERING .RECOVERY_PENDING .SUSPECT.EMERGENCY .OFFL ...
- 开源作品-ThinkPHP在线分析工具(单文件绿色版)-TPLogAnalysis_PHP_1_0
TPLogAnalysis_PHP_1_0 前言:项目开发基于ThinkPHP框架,但是在调试程序的时候,没有一款日志可视化分析工具.在网络也找不到任何相关的TP日志分析工具.求人不如求己,于是决定抽 ...
- Jenkins介绍-安装-部署...
1.背景 大师Martin Fowler对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成. ...
- RXSwift源码浅析(一)
简述 最近老大给了个新项目,我打算用Swift写.原来OC用的RAC,换到Swift自然框架也想试试新的,就用了RXSwift,对于这两个框架,我都是会用,但不解其中的原理,正好最近需求没下来,就研究 ...