- 博客(17)
- 收藏
- 关注
原创 模拟字符串的比较函数strncmp
#include<stdio.h>#include<windows.h>#include<assert.h>char *my_strncmp(const char *arr, const char*arr1, int count){ assert(arr&&arr1); while (count&&(*arr==*ar...
2018-05-31 16:47:52 191
原创 模拟实现字符串拼接函数strncat
#include<stdio.h>#include<windows.h>char *my_strncat( char *arr, const char *arr1, int count){ char *ret = arr; while (*arr) { arr = arr + 1;//while循环让*arr处于arr字符串末端 } while (cou...
2018-05-31 16:36:35 457
原创 模拟实现strncpy函数
#include<stdio.h>#include<windows.h>char *my_strstr(const char *str, const char *str1){ char *p = NULL; char *q = NULL; char *np = NULL; p = str; while (*p) { np = p; q = st...
2018-05-25 23:14:04 345
原创 模拟实现strstr函数
#include<stdio.h>#include<windows.h>char *my_strstr(const char *str, const char *str1){ char *p = NULL; char *q = NULL; char *np = NULL; p = str; while (*p) { np = p; q = st...
2018-05-24 23:17:36 92
原创 .理解 ( 指针数组) ( 数组指针) ( 函数指针) ( 函数指针数组) ( 指向函数指针数组的指针)
指针数组:指针数组是数组,是一个存放指针的数组。数组指针:数组指针是指针,是指向数组的指针。函数指针:例子:void (*pfun1)(); pfun1先与*结合,说明pfun1是指针,指针指向的是一个函数,指向的函数无参数,返回值类型为void。函数指针数组:数组是一个存放相同数据集合的存储空间例子:int (*parr1[10])() 括号里*parr1[10]是一个指针数组Int(*)(...
2018-05-24 20:45:49 130
原创 模拟实现memcpy函数
#include<stdio.h>#include<windows.h>void *my_memcpy(void *arr1,const void *arr,size_t count){ void *ret=arr1; while (count--) { *(char*)arr1 =*(char*) arr; arr1 = (char*)arr1 + 1...
2018-05-23 20:43:10 137
原创 模拟实现strcmp函数
//模拟实现strcmp函数/*#include<stdio.h>#include<windows.h>int my_strcmp(char *dest, char *src){ int ret = 0; while (!(ret=*(unsigned char*)dest - *(unsigned char*)src) && dest&a...
2018-05-23 20:34:51 270
原创 模拟实现strcat函数
char *my_strcat(char *dest, char *src){ while (*dest) { dest++; } while (*dest = *src) { dest++; src++; } return dest;}#include<stdio.h>#include<windows.h>int main(){ c...
2018-05-23 20:28:20 179
原创 模拟实现strcpy函数
char *my_strcpy(char *dest, const char *src){ while (*dest=*src) { dest++;` src++; } return dest;}#include<stdio.h>#include<assert.h>#include<windows.h>int main(){ ...
2018-05-23 20:16:29 110
原创 1.使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。 例如:
#include<stdio.h> #include<windows.h>#pragma warning(disable:4996)int myadd(int num1, char*p, int num2){ if (p == "-a") //若输入+号,则使用这条分支语句做加法 return num1 + num2; el...
2018-05-17 22:53:01 203
原创 使用函数判断一个年份是不是闰年
#include <stdio.h>#include<stdlib.h>#include <windows.h>#pragma warning(disable:4996)int leap(int X){ if (((X % 4 == 0) && (X % 100 != 0)) || (X % 400)) { return 0;...
2018-05-14 16:37:49 2454
原创 使用函数实现两个数的交换
#include<stdio.h>#include<windows.h>void swap(int *a, int *b){ int tmp = 0; tmp = *a; *a = *b; *b = tmp;}int main(){ int a = 10; int b = 20; printf("a=%d,b=%d\n",a,b); swa...
2018-05-13 23:00:37 277
原创 个人理解的函数栈帧
函数的调用过程(栈帧)1. 进程的地址空间分布从低到高依此为:代码区、字符常量区、已初始化全局数据区,未初始化全局数据区,堆区,栈区,其中堆栈相对而生,堆区向上生长,栈区向下生长。2,我们都知道,每个函数的调用都是一个过程,这个过程我们通常称之为函数的调用过程。3,函数栈帧:函数的调用过程要为函数开辟栈空间,用于本次函数调用中临时变量的保存,现场保护。这块栈空间我们称之为函数栈帧。4、而栈帧...
2018-05-11 16:29:13 203
原创 //杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N); 数组: 1 2 3 2 3 4 3
#include<stdio.h>#include<stdlib.h>#pragma warning(disable:4996)#define ROW 3#define COL 3int Yang(int arr[ROW][COL], int value){ int i = 0; int j = COL - 1; int tmp = arr[i][j]; while (1)...
2018-05-04 17:12:28 150
原创 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
先判断数组的第一位arr[0]是奇数还是偶数,如果是奇数,就继续下一位,如果是偶数,就把它与最后一位交换#include <stdio.h>#include <windows.h>void adjust(int *arr, int size){ int i = 0; int j = size - 1; for (; i < j; i++) { if (arr[i] ...
2018-05-04 16:04:09 157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人