1.字符串末尾的\0也有一个长度。字符我们最好用数组来记住空格的位置而不是记住单词的长度。
2.串结束标志是\0不是\n
3.一段单词中通过==‘ ’来判断空格。
4,小技巧:对于一个数组向右循环右移这种问题
思想:就是向右移,其实我们可以分成三个部分来完成。从起点到总长度-右移长度(取模之后的)进行一次依次交换。把剩下的后一半进行一次依次交换,最后把所有的再进行一次依次交换。
这是一个重要的想法,我们可以记忆掌握
5这里我想解释的是数组做为形参在函数声明里面的格式及形式及为什么?
1)//a 代表的数据首元素的地址 (首元素),同时与整个数组地址重合,但其不能代表整个数组,只能代表起始个体的地址 (即 数组的首地址)
2)//&a代表的是整个数组的地址 (特别特别的注意) 它的加1是以整块数组所占字节数总数为单位1 (即整个数组的地址)
3) 由此引出声明数组参量
前提:实际参数是一个数组名。C对于int a [ ] 和 int * a作了同样解释,即a是指向int的指 针 。 (即两种形势在函数声明里面都是可以的。)
4) 由于原型允许省略名称,因此下列4种原型都是等价的。
/** 函数原型声明4中等价形式
int sum (int *a , int n)
int sum (int * , int )
int sum (int a[] , int n)
int sum (int [] , int ) //可能略微不熟悉的一种
详情见:点击打开链接 http://blog.csdn.net/jin13277480598/article/details/51891816
6.对于有些题目要求前面几行数据测试后又空行,而最后一行却没有。
空格控制输出(每个数据后有一个空格,但是末尾却没有)
这其实也是程序巧妙之处:有while还在执行时我们就定义一个f