-
visual stadio查看全部
-
赋值
交换变量(两个或三个)
简便赋值符+=查看全部 -
.cpp通用 .c c++查看全部
-
#include <stdio.h>
int main(int argc, char** argv)
{
int a = 1;
int b = 2;
int* pA = &a;
int* pB = &b;
pA = pB;
return 0;
}
运行成功 yep!!!
查看全部 -
const定义常量
查看全部 -
1-会不会用的标准,是能不能写出高效率切稳定运营的程序。查看全部
-
int main(int argc,char **argv)
{
int a = 10;
int b = 20;
swap(&a, &b);
return 0;
}查看全部 -
void swap(int * a, int * b)
{
int temp = *a;
*a = *b;
*b = temp;
}void swap(int * a, int * b)
{
int temp = *a;
*a = *b;
*b = temp;
}查看全部 -
调用时不许输入类型名字
查看全部 -
C++ 会为函数分配相应的内存,而且还存在参数的拷贝。这些就导致函数在调用的时候会带来额外的内存消耗。
但是函数又是一个可以让程序变得模块清晰的东西。那么有没有什么办法又能让我们使用函数,而又不带来更多的性能消耗呢?
C++ 为我们提供了一种函数形式,叫做内联函数。在程序编译的时候,编译器会把内联函数的代码复制出来,粘贴到调用的地方。例如如下代码:
需要注意的是,内联函数必须在函数定义的时候写上 inline 才可以,也就是说,这样写是不行的:
查看全部 -
int fact(int n)
{
if(n==1) 这一部分是明白结束条件{
return 1;
}
else {
return n * fact(n-1);//这一部分是核心操作
}
}
int main(int argc,char **argv)
{
int x = 5;
int res = fact(x);
printf("%d\n",res);
return 0;
}查看全部 -
1. 递归的终止条件是什么?
这是非常重要的,在递归中,我们必须要设计好这一点,那就是递归什么时候停止。否则就会像前面的例子一样,直接爆栈。
2. 递归被分解后最基本操作是什么?
递归非常适合层级调用关系,每一层都执行相同的操作,这个要素,就是要提取出递归最核心的要素。
3. 递归调用传递的参数
这里传递的参数其实除了参数列表,还包括返回值。参数列表表示给下一层调用需要传递什么,返回值表示上一层调用需要返回什么。
接下来利用递归来求一个数的阶乘,首先来分析一下问题,假如要求计算 5 的阶乘,实际上是在进行以下算式:
查看全部 -
声明常量(不可变的量)在前面加 const
查看全部 -
声明常量(不可变的量)在前面加 const
查看全部 -
参数列表的写法是类型 + 参数名称,每两个参数之间使用逗号隔开。
参数可以是任意类型,可以是基础数据类型,可以是指针,也可以是结构体类型。
在函数调用的时候,依照函数定义时参数列表的顺序依次传入想要传入的值。在使用的时候,参数的顺序不可以改变。
上面的函数在调用的时候,传入的第一个参数 a 是int型,第二个参数 b 是float型。不能颠倒两者的顺序,如果颠倒,则可能发生语法错误,或者进行数据类型的隐式转换。
int func(int a, float b)
查看全部 -
允许1一个返回值
查看全部 -
int c = avg(a, b); //函数调用
函数名(参数,多个可用逗号隔开)
这样修改之后,发现程序没法运行了。这是因为在 C++ 中,函数要想使用,必须要先声明。所以我们可以在调用之后实现函数体,但是必须在调用之前声明
查看全部
举报