# 二、函数的基本用法

C语言：
#define _CRT_SECURE_NO_WARNINGS 1//visual studio编译器才会用，方便输入;
#include<stdio.h>
int max(int a, int b)
{
return a > b ? a : b;
}
int main(void)
{
int a, b, c;
scanf("%d%d", &a, &b);
c = max(a, b);
printf("%d", c);
}
c++代码：
#include<iostream>
using namespace std;
void max(int a, int b)
{
if (a > b)
{
cout << a;
}
else if (a < b)
{
cout << b;
}
cout << endl;
}
int main(void)
{
int a, b;
cin >> a >> b;
max(a, b);
}

## 函数中的递归和迭代

递归方法：
#include<iostream>
using namespace std;
int f(int n)
{
if (n <= 2)
{
return 1;
}
else
{
return f(n - 1) + f(n - 2);
}
}
int main(void)
{
int n;
cin >> n;
int sum = f(n);
cout << sum << endl;
}

#include<iostream>
using namespace std;
int f(int n)
{
if (n <= 2)
{
return 1;
}
else
{
int fas1 = 1, fas2 = 1, ans;
for (int i = 3; i <= n; i++)
{
ans = fas1 + fas2;
fas1 = fas2;
fas2 = ans;
}
return ans;
}
}
int main(void)
{
int n;
cin >> n;
int c = f(n);
cout << c << endl;
}

#include<文件名>

#include"文件名"

# 结构体

1.变量的定义

2.变量的初始化;

## 结构体变量的使用

#include<iostream>
using namespace std;
struct Student
{
char name[20];//姓名
double score;//成绩
char sex[10];//性别;
};
int main(void)
{
int n;
Student *s=(Student*)malloc(sizeof(Student));//申请动态存储空间;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> s[i].name >> s[i].score >> s[i].sex;
}
cout << "学生的姓名" << "     " << "学生的成绩" << "     " << "学生的性别" << endl;
for (int i = 0; i < n; i++)
{
cout << s[i].name << "     " << s[i].score << "     " << s->sex << endl;
}
}

# 指针

## 动态堆内存分配

2.读入数据

#include<iostream>
using namespace std;
int solve(int a[], int n)
{
int sum = 0, cnt = 0;
for (int i = 0; i < n; i++)
{
sum += a[i];
}
for (int i = 0; i < n; i++)
{
if (a[i] > 1.0 * (sum) / n)
{
cnt++;
}
}
return cnt;
}
int main(void)
{
int n;
cin >> n;
int* a = new int[n];//动态空间申请;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
int c = solve(a, n);
cout << c << endl;
delete [] a;
}

## 指针与函数

l例如：

void f(int a[ ],int n)

{

}

void f(int*a,int n)

{

}

#include<iostream>
using namespace std;
int swa(int* a, int* b)
{
return *a > *b ? *a : *b;
}
int main(void)
{
int a, b;
int c;
cin >> a >> b;
c=swa(&a, &b);
cout << c << endl;
}

# 总结

|
2天前
|
C++
C++野指针 空指针 危险指针
C++野指针 空指针 危险指针
14 3
|
2天前
|

C++ “万能血“ void*指针
C++ “万能血“ void*指针
9 1
|
2天前
|

C++ 新特性----＞函数返回类型后置
C++ 新特性----＞函数返回类型后置
6 0
|
2天前
|

C++ Effective Modern Pointer (智能指针模块)
C++ Effective Modern Pointer (智能指针模块)
6 0
|
3天前
|

C++函数模板：函数模板与特例化解析
C++函数模板：函数模板与特例化解析
14 2
|
3天前
|

C++类和对象的细节原理：this指针、构造函数和析构函数、深浅拷贝、运算符重载、初始化列表、类的各种成员和方法
C++类和对象的细节原理：this指针、构造函数和析构函数、深浅拷贝、运算符重载、初始化列表、类的各种成员和方法
19 0
|
3天前
|

16 1
|
5天前

12 3
|
15天前
|

C++ STL容器与常用库函数
C++ STL容器与常用库函数
58 0
|
15天前
|

C/C++基础知识——函数
C/C++基础知识——函数
21 0

• 云迁移中心

更多

更多