每天一点点,不知不觉已经到了第4章了。
首先是对于函数的基础知识的说明,以等同于C#的IndexOf的函数为例子,对于一些C#的程序员,C/C++中的字符串是一个char的数组,但是数组的书写方式也是不一样的,C#中都是类型[],而C/C++中的确实类型 变量名[],虽然一开始都是有点不习惯,但是几次练习实践后,还是可以适应的。函数的具体实现如下:
1 int strindex(char s[], char t[]) 2 { 3 int i, j, k; 4 5 for( i = 0; '\0' != s[i]; i++) 6 { 7 for(j = i, k = 0; '\0' != t[k] && s[j] == t[k]; j++, k++) 8 { 9 ; 10 } 11 if(0 < k && '\0' == t[k]) 12 { 13 return i; 14 } 15 } 16 return -1; 17 }
而练习题是改写为从最后尾倒序开始查找,并返回对应的下标,实现代码如下:
1 int strindex(char s[], char t[]) 2 { 3 int i, j, k; 4 5 for( i = strlen(s) - 1; 0 <= i; i--) 6 { 7 for(j = i, k = strlen(t) - 1; 0 <= k && s[j] == t[k]; j--, k--) 8 { 9 ; 10 } 11 if(-1 == k) 12 { 13 return i - (strlen(t) - 1); 14 } 15 } 16 return -1; 17 }
虽然练习都是很基础的,没有什么难度,但是万事开头难,一步一步扎实的学下去,才能更好的掌握。
每天一点点,成长多一点,加油!