c语言环境下如何创建一个外部函数
来源:互联网 发布:朕是什么意思网络此意 编辑:程序博客网 时间:2024/06/09 05:42
我自己在学习c语言中的一些小总结,对c语言刚入门的人有些帮助
c语言环境下如何创建一个外部函数
1.首先确定要创建一个满足什么条件的函数;
2.按照格式写出主函数(作用:测试外部函数)
例:
int main(){int i = 0;int arr[] = { 1,22,12,4,5,6,7,8,9};int sz = sizeof(arr) / sizeof(arr[0]);exchange(arr,sz);////完成要求的函数,功能“将奇数转换到前面偶数放到后面”for (i = 0; i < sz; i++){printf("%d ", arr[i]);}return 0;}
3.编写满足要求的函数 exchange(arr,sz);
(1)分析函数所需的功能,捋清编程思路:
奇数放前 偶数放后
我们可以从两边开始找,从左边第一个数开始向右找偶数,从右边第一个数开始找奇数;
然后将左边的偶数与右边的奇数互换;到此就完成了一次互换,交换了一组奇偶数;
我们在此可以加一个while循环就可以完成所有奇偶数的互换了。
参数设置:
先求出元素个数 :int sz=sizeof(arr)/sizeof(arr[0]);
左端第一个数的地址:int *left=arr;
右端第一个数的地址:int *right=arr+sz-1;
循环的限制条件:while(left<right);
(2)函数代码:
void exchange(int *arr, int sz){int *left =arr;int *right = arr + sz - 1;while (left < right){while ((*left) % 2 == 1){left++;}while ((*right) % 2 == 0){right--;}if (left < right){int ret = *left;*left = *right;*right = ret;}left++;right--;}}
4.函数与主函数组合的完整代码:
#include<stdio.h>void exchange(int *arr, int sz){int *left =arr;int *right = arr + sz - 1;while (left < right){while ((*left) % 2 == 1){left++;}while ((*right) % 2 == 0){right--;}if (left < right){int ret = *left;*left = *right;*right = ret;}left++;right--;}}int main(){int i = 0;int arr[] = { 1,22,12,4,5,6,7,8,9};int sz = sizeof(arr) / sizeof(arr[0]);exchange(arr,sz);for (i = 0; i < sz; i++){printf("%d ", arr[i]);}return 0;}
注:如果主函数 int main()放在前面,需要对函数声明
即:
#include<stdio.h>int main(){ void exchange(int *arr,int sz);int i = 0;int arr[] = { 1,22,12,4,5,6,7,8,9};int sz = sizeof(arr) / sizeof(arr[0]);exchange(arr,sz);for (i = 0; i < sz; i++){printf("%d ", arr[i]);}return 0;}void exchange(int *arr, int sz){int *left =arr;int *right = arr + sz - 1;while (left < right){while ((*left) % 2 == 1){left++;}while ((*right) % 2 == 0){right--;}if (left < right){int ret = *left;*left = *right;*right = ret;}left++;right--;}}
2 0
- c语言环境下如何创建一个外部函数
- c语言 外部函数
- tc2.0环境下的C语言研究-函数如何接收不定数量参数
- 【C语言】外部函数和内部函数
- C语言内部函数与外部函数
- C语言外部函数与内部函数
- 如何创建一个VS2005 VC++下的D3D项目环境
- C语言如何实现一个函数返回另一个函数
- 如何在Visual Studio2010上创建一个 C语言程序?!
- 如何创建一个完整的C语言程序心得
- (《Linux环境下C语言编程指南》学习笔记二)C语言中进程的创建(fork和vfork函数的异同)
- C语言extern调用外部函数
- Linux C语言环境下如何输出宽字符
- Linux C语言环境下如何输出宽字符 -- 转载
- C语言如何产生一个随机数,rand函数的使用
- c语言中如何返回一个数组函数
- 【C语言】如何写一个参数可变的函数
- 如何让C语言函数返回一个二维数组
- spring boot(4)-html和templates
- HDU 1702 ACboy needs your help again!(栈和队列的试用)
- android webview native与JavaScript相互调用 java与JavaScript相互调用
- Java异常体系结构
- caffe SilenceLayer
- c语言环境下如何创建一个外部函数
- [Algorithm]九章五.DFS
- 一只小蜜蜂...
- 如何解决sublime text3中文出现乱码
- UUID跟UDID的区别
- lintcode(647)Substring Anagrams
- EOJ 3256拼音魔法(string+char[]的使用技巧)
- A. 拼音魔法(模拟)
- 如何将JSON的键转为键值-xyp-hf