IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c语言函数和递归 -> 正文阅读

[C++知识库]c语言函数和递归

c语言api网站查询
https://en.cppreference.com/w/
https://devdocs.io/c/
http://www.cplusplus.com/
/* strcpy example */
#include <stdio.h>
#include <string.h>

int main ()
{
? char str1[]="Sample string";
? char str2[40];
? char str3[40];
? strcpy (str2,str1);
? strcpy (str3,"copy successful");
? printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);
? return 0;
}//函数strcpy的用法
Sets the first num bytes of the block of memory pointed by ptr to the specified value (interpreted as an unsigned char).
/* memset example */
#include <stdio.h>
#include <string.h>

int main ()
{
? char str[] = "almost every programmer should know memset!";
? memset (str,'-',6);
? puts (str);
? return 0;
}//把str前六个设置成-
自定义函数
ret_type fun_name(paral,*)
{
?? ?statement;
}
ret_type
ret_name
paral
int main(){
}
get_max函数
#include<stdio.h>
int get_max(int a, int b) {
?? ?if (a > b)?
?? ??? ?return a;
?? ?else
?? ??? ?return b;
?? ?
}


int main() {
?? ?int a = 0;
?? ?int b = 20;
?? ?int max = get_max(a,b);
?? ?printf("%d", max);
?? ?return 0;
}
没有交换值
#include<stdio.h>

void Swap(int x, int y) {
? ? int temp = 0;
? ? temp = x;
? ? x = y;
? ? y = temp;
}

int main()
{
? ? int a = 10;
? ? int b = 20;
? ? printf("%d%d", a, b);
? ? Swap(a, b);
? ? printf("%d%d", a, b);
? ??
? ? ? ??
? ? return 0;
}
正确的方法需要用指针
#include<stdio.h>

void Swap1(int *x, int *y) {
? ? int temp = 0;
? ? temp = *x;
? ? *x = *y;
? ? *y = temp;
}

int main()
{
? ? int a = 10;
? ? int b = 20;
? ? printf("%d%d", a, b);
? ? Swap1(&a, &b);
? ? printf("%d%d", a, b);
? ??
? ? ? ??
? ? return 0;
}

形参:只有在函数被调用的过程中才能实例化
传值调用
当实参传给形参的时候
形参其实是实参的临时拷贝
对形参的修改是不会改变实参的
传址调用
让函数内和函数外建立真正的联系
int is_prime(int n) { ??
? ? int j = 0;
? ? for (j = 2; j < n; j++) {
? ? ? ? if (n % j == 0) {
? ? ? ? ? ? return 0;
? ? ? ? }
? ? ? ? return 1;

? ? }
}
传数组到函数其实是传的首个元素的地址
链式嵌套函数

int main(){
? ? printf("%d", printf("%d", printf("%d", 43)));


? ??
? ? ? ??
? ? return 0;
}
//printf返回的是数字的个数所以是4321

int max(int x, int y);//函数的声明,避免警告
int main() {
? ? int x = 3;
? ? int y = 7;
? ? int sum =0;
? ? sum=max(x,y);函数的调用
? ? return 0;
}
int max(int x, int y) {.//函数的定义
? ? if (x > y) {
? ? ? ? return 1
? ? };
}
include"add.h"
来调用add
递归
stack:局部变量
函数形参
heap:动态开辟的内存
malloc calloc
静态区
全局变量
static
hhtps://stackoverflow.bom/
递归:
把复杂问题转化成相似的小问题
#include <stdio.h>
void print(int n) {
?? ?if (n>9) {
?? ??? ?print(n / 10);

?? ?}
?? ?printf("%d", n % 10);
}

int main() {
?? ?unsigned inst mun = 0;
?? ?scanf("%d",&mun);
?? ?print(mun);
}?
strlen:
int my_strlen(char* str){
?? ?int count=0;
while(*str!='\0'){
?? ?count++
?? ?str++}
return count;
}
大事化小:my_strlen(bit)
1+my_strlen(it)
1+1+my_strlen(t)
1+1+1+my _strlen("")
1+1+1+0;
int my_strlen(char* str){
?? ?if(*str!='\0'){
?? ??? ?return 1+my_strlen(str+1)
?? ?else
?? ??? ?return0;}}
阶乘:
int Fact(int n ){
?? ?int i=0;
?? ?int ret =1;
?? ?for(i=1;i<=n;i++){
?? ??? ?ret*=i;

}
return ret;
}
(递归)
int fact(int n ){
?? ?if(n<=1
??? ??? ?reurn?? ?1;
?? ?else
?? ??? ?return n*fact(n-1);


}
斐裂那数列:
? int fib(int n){
?? ?if(n<=2)
?? ??? ?return 1;
?? ?else
?? ??? ?return fib(n-1)+fib(n-2)}
int fib(int n ){
int i =1; ;
int j =1;
int k=1;
while(n>2){k=i+
i=j
j=k
n--
}
return k}
递归会栈溢出

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-27 11:41:17  更:2021-08-27 11:42:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:07:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码