第三周作业
答案会在下周更新的时候发布
- 描述一下什么是函数的声明和函数的定义?
- 自己写一个函数定义,然后调用该函数,再使用VS单步调试代码,并绘制内存中的栈的内容。
- (选做题)使用VS单步调试下面的代码,仔细阅读VS的调用堆栈窗口
c
#include <stdio.h>
void func(int i){
if(i == 0){
return;
}
else{
printf("i = %d\n", i);
func(i-1);
}
}
int main(){
func(2);
return 0;
}- 从变量的生存期、变量存储的位置和变量的作用域来说明全局变量和局部变量的区别。
- 为什么下面代码当中,main函数里面的变量a不发生改变?
c
void func(int a){
a = a + 1;
}
int main(){
int a = 10;
func(a);
printf("a = %d\n", a);
return 0;
}- C语言学习 | week03_分段函数_1知识点:函数
- C语言学习 | week03_分段函数_2知识点:函数
- C语言学习 | week03_正整数反转知识点:函数
- C语言学习 | week03_计算距离知识点:函数(选做题)
- C语言学习 | week03_奇偶和知识点:函数
- 数组有哪些特点?[]运算符在定义语句和非定义语句作用分别是什么?
- 数组中的元素
arr[i]的地址如何计算? - 一维数组作为函数参数传递的时候会丢失什么信息?
- 二维数组
arr[M][N]的本质是一个一维数组,这个一维数组有多少个元素,每个元素的类型是什么?arr[i][j]的地址是多少?为什么二维数组传递的时候,不能省略第二个维度? - C语言学习 | week03_循环数组 知识点:数组
- C语言学习 | week03_统计分数 知识点:数组
- C语言学习 | week03_有序插入 知识点:数组
- C语言学习 | week03_找最大值 知识点:数组
- C语言学习 | week03_合并有序数组 知识点:数组
- C语言学习 | week03_冒泡排序 知识点:数组(选做题)
- C语言学习 | week03_方阵转置 知识点:二维数组
- C语言学习 | week03_计算两个矩阵的乘积 知识点:二维数组