谭浩强版C语言问题(第七章:函数、变量、存储)

.前言:

        写在前面,由于我大一学过java多以对于本书的前几张没有什么记录。那是因为他和java的数据类型、循环结构、数组、函数之类的这一些都差不太多。前面稍微重要的就是函数了和java稍有不一致,个人觉得没有必要再写了,所以我从函数开始写起。学习C语言就要学习他的精华。譬如:指针、自定义数据类型、文件。

汉诺塔问题


/*思路:

有三个盘子,三个柱子,

若盘子数量大于一:将两个盘子放在B柱子上,再将最后一个盘子放在C柱子上,最后将B柱子上的盘子放在C柱子上即可!

若盘子数量小于一: 直接将盘子放在C柱子上即可*/

int main(){

        int num;

        void hannuota(int num, char  one,  char  two,  char  three);           //定义汉诺塔函数

        printf(“请输入盘子的个数:”);

        scanf(“%d”,&num);

        prinf("移动的顺序是:");

        hannuota(m,‘A’,‘B’,‘C’);

}

void hannuota(int num, char  one,  char  two,  char  three){

        void move(char x,char y);                //定义移动的函数

        if(num==1){

                move(one,three);

        }else{

                hannuota(num-1,one,three,two);

                move(one,three);

                hannuota(num-1,two,one,three ); 

}

void move(char x,char y){

        printf("%c------->%c",x,y);

}

2.字符串问题 : C中没有字符串类型,只有字符数组

例如: char  asd[] = {"hellow "} 

使用scanf输入的时候不用取地址赋值,直接使用字符数组名字即可,因为他们在内存中的地址是连续的

字符串的几个函数“#include ”.puts    gets、strlen、strcmp、strcat

3.数组在实参和形参中的传递问题

数组元素的传递 a[45]、将数组名放在形参是把该数组的首地址传递,操作形参就是操作实参

4.二维数组中的列必须有大小,相对的二维数组中的一维的大小可以没有,系统会自动分配。(学习完指针后会有更明确的理解)

5.变量问题





P232


6.内部函数和外部函数


你可能感兴趣的:(谭浩强版C语言问题(第七章:函数、变量、存储))