《c程序设计语言》读书笔记-4.1-判断字符串在另一个字符串中的位置
2014-11-11 21:17
239 查看
#include <io.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> #define Num 20 int strindex(char s[],char t[]) { int i,j,k; int position = -1; for(i = 0;s[i] != '\0';i++) { for(j = i,k = 0;t[k] != '\0' && s[j] == t[k];j++,k++) ; if(k > 0 && t[k] == '\0') position = i; } return position; } int main() { char str1[20],str2[20]; char c; int i = 0,j = 0; int position; printf("please input string1\n"); while((c = getchar()) != '\n' && i < Num) { str1[i++] = c; } str1[i] = '\0'; printf("please input string2\n"); while((c = getchar()) != '\n' && j < Num) { str2[j++] = c; } str2[j] = '\0'; position = strindex(str1,str2); printf("%d\n",position); return 0; }
上面的程序是正确的,可以正常运行得出结果,不过,我又编了下面的函数:
#include <io.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> int strindex(char s[],char t[]) { int i,j,k; int position = -1; printf("%d\n",strlen(s)); for(i = 0;i < strlen(s);i++) { printf("%d\n",i); for(j = i,k = 0;k < strlen(t) && s[j] == t[k];j++,k++) ; if(k > 0 && t[k] == '\0') position = i; } return position; } int main() { char *str1,*str2; int i = 0,j = 0; int position; printf("please input string1\n"); gets(str1); printf("please input string2\n"); gets(str2); position = strindex(str1,str2); printf("%d\n",position); return 0; }
为了不定义数组的大小就用的指针,可是程序错了。。gets函数只能读入8个字符,这里面有问题,可是我不知道哪里错了,待看完指针那章看能不能解决!
相关文章推荐
- 《c程序设计语言》读书笔记-4.1-判断字符串在另一个字符串中的位置
- php 判断字符串在另一个字符串中位置
- SysUtils.LastDelimiter - 判断一个字符串在另一个字符串中最后出现的位置
- php判断字符串在另一个字符串位置的方法
- 《c程序设计语言》读书笔记-第二个字符串任意一个在第一个字符串出现的位置,未出先返回-1
- StrStr,判断一个字符串是不是另一个字符串的字串,并返回子串的位置
- SysUtils.LastDelimiter - 判断一个字符串在另一个字符串中最后出现的位置
- C语言 ,两个字符串参数,判断是否包含另一个字符串,返回所在位置
- 《c程序设计语言》读书笔记-第二个字符串任意一个在第一个字符串出现的位置,未出先返回-1
- SysUtils.LastDelimiter - 判断一个字符串在另一个字符串中最后出现的位置
- php判断字符串在另一个字符串位置的方法
- 判断字符串中是否包含另一个字符及位置.net/C#
- C# 3.0 Cookbook:一、字符与字符串处理(3):在一个字符串内寻找另一个字符串出现的所有位置
- C++之String的find方法,查找一个字符串在另一个字符串的什么位置;leveldb字符串转数字解析办法
- 将一个字符串插入到另一个字符串的某个位置
- c语言中判断一个字符串是否包含另一个字符串
- 判断一个字符串里是否包含另一个字符串所有的字符
- 判断字符串是否包含另一个字符串
- 判断一个字符串是否在另一个字符串中:O(m+n)
- 判断一个字符串在另一个字符串中出现的次数 .