谭浩强c语言实验函数 c语言谭浩强知识点总结
谭浩强版C语言问题(第七章:函数、变量、存储)
.前言:
成都创新互联公司专业为企业提供潘集网站建设、潘集做网站、潘集网站设计、潘集网站制作等企业网站建设、网页设计与制作、潘集企业网站模板建站服务,十载潘集做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
写在前面,由于我大一学过java多以对于本书的前几张没有什么记录。那是因为他和java的数据类型、循环结构、 数组、函数 之类的这一些都差不太多。前面稍微重要的就是函数了和java稍有不一致,个人觉得没有必要再写了,所以我从函数开始写起。学习C语言就要学习他的精华。譬如: 指针、自定义数据类型、文件。
汉诺塔问题
2.字符串问题 : C中没有字符串类型,只有字符数组
例如: char asd[] = {"hellow "}
使用scanf输入的时候不用取地址赋值,直接使用字符数组名字即可,因为他们在内存中的地址是连续的
字符串的几个函数“#include string.h”.puts gets、strlen、strcmp、strcat
3.数组在实参和形参中的传递问题
数组元素的传递 a[45]、将数组名放在形参是把该数组的首地址传递,操作形参就是操作实参
4.二维数组中的列必须有大小,相对的二维数组中的一维的大小可以没有,系统会自动分配。(学习完指针后会有更明确的理解)
5.变量问题
P232
6.内部函数和外部函数
谭浩强的c语言程序设计题~定义一个函数,求数组从小到大排序
11 void sort(int *array, int num)
12 {
13 int i, j;
14
15 int tmp;
16
17 for( i=0; inum; i++)
18 for( j=i+1; jnum; j++)
19 if( array[i] array[j]){
20 tmp = array[j];
21 array[j] = array[i];
22 array[i] = tmp;
23 }
24
25 }
谭浩强的《C语言设计》里的“求两个数中较大者”的函数是不是有错误?
程序是完全正确的
可能是scanf时,你输入不对(我曾经就这样错过)
你试一试这样输入:
4,6再回车
C语言谭浩强书上说strcpy函数如果str1没有初始化,那么复制后得到的结果不一定是str2中的 一定吗?
根据图所示可知:
s1和s2都进行了初始化,都能表示完整的字符串,所以复制函数strcpy正常运行,结果也为预期结果。
再来说说书上为啥这么说?
如果字符串数组未被初始化,或者字符串指针未被初始化而指向正确的字符串,那么会出现问题。
再来说说函数strcpy原理:
通过指针偏移依次将字符串中的字符复制到目的数组,只有遇到字符串结束符'\0'才结束复制。
如果字符串未初始化,那么字符串结束符是不确定的,有可能在定义的字符串数组长度内,也可能越界继续往下找到第一个结束符。此时复制结果是不确定的或者错误的。
当前名称:谭浩强c语言实验函数 c语言谭浩强知识点总结
分享地址:http://cdiso.cn/article/doisjse.html