![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
习题
Zhang_Ting0020
这个作者很懒,什么都没留下…
展开
-
求第n个斐波那契数
首先介绍的用递归的方法求第n个斐波那契数,此种方法的优点是代码简单,但是计算比较大的斐波那契数时,效率很低。代码如下:#include <stdio.h>int fib(int n){ if (n <= 2) return 1; else return fib(n - 1) + fib(n - 2);}int main(){ int n = 0; int ret = 0; ...原创 2018-04-18 14:08:27 · 447 阅读 · 0 评论 -
c语言实现memcpy
memcpy 指的是c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。void *my_memcpy(void *dest, const void *src, unsigned int count){ void *ret = dest; assert(dest != NULL)...原创 2018-04-27 14:35:34 · 344 阅读 · 0 评论 -
c语言实现strcmp
strcmp 字符串比较函数,一般形式为strcmp(字符串1,字符串2)。 比较规则: 对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到‘\0’为止。如果全部字符相同,则认为相等;若出现不相同的字符,则需要对比字母相应的ASCII值,返回类型为: (1)字符串1=字符串2,返回0 (2)字符串1>字符串2,返回一个正整数 (3)字符串1<...原创 2018-04-27 14:25:00 · 677 阅读 · 0 评论 -
c语言实现strstr
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。const char *my_strstr(const char *str, const char * substr){ const char *s1 = str; const char *s2 = substr; ...原创 2018-04-26 14:45:22 · 286 阅读 · 0 评论 -
c语言实现strcat
strcat的功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的’\0’)。char * my_strcat(char *dest, const char *src)//dest 目标字符串 //src原字符串{ char * ret = dest; assert(d...原创 2018-04-26 14:42:36 · 375 阅读 · 0 评论 -
c语言实现strcpy
strcpy是一种C语言的标准库函数,strcpy把从src地址开始且含有’\0’结束符的字符串复制到以dest开始的地址空间,返回值的类型为char*char* my_strcpy(char * dest,const char * src){ char *ret = dest; assert((dest != NULL) && (src != NUL...原创 2018-04-26 14:38:03 · 414 阅读 · 0 评论 -
c语言实现strlen的几种方法
方法一:int my_strlen(const char *str){ int count = 0; assert(str != NULL); while (*str != '\0') { count++; str++; } return count;}int main(){ int len ...原创 2018-04-26 14:33:11 · 372 阅读 · 0 评论 -
给定两个整形变量的值,将两个值的内容进行交换。
给定两个整形变量的值,将两个值的内容进行交换。#include <stdio.h>int main(){ int a = 10; int b = 20; int tmp = 0; tmp = a; a = b; b = tmp; printf("%d %d", a, b); system("pause"); return 0;}若要求不允许创建临时变量,交换两个数的内容#incl...原创 2018-04-17 15:27:45 · 312 阅读 · 0 评论 -
写一个函数返回参数二进制中 1 的个数
代码1:#include <stdio.h>int main(){ int num = 10; int count = 0; while (num) { if (num % 2 == 1) count++; num /= 2; } printf("count = %d\n", count); system("pause"); return 0;}为负数时不能用代码2:#incl...原创 2018-04-19 15:28:10 · 227 阅读 · 0 评论 -
c语言实现memmove
memmove 用于从src拷贝count个字节到dest,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。但复制后src内容会被更改。但是当目标区域与源区域没有重叠则和memcpy函数功能相同。void *my_memmove(void *dest,const void *src,int count){ assert(dest...原创 2018-04-27 14:40:22 · 270 阅读 · 0 评论