#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-判断字符串在另一个字符串中的位置的更多相关文章

  1. php 判断字符串在另一个字符串中位置

    $email='user@example.com';        //定义字符串$result=strstr($email,'@');         //返回子字符串echo $result; / ...

  2. js中如何判断一个字符串包含另外一个字符串?

    js中判断一个字符串包含另外一个字符串的方式比较多? 比如indexOf()方法,注意O是大写. var test="this is a test"; if(test.indexO ...

  3. poj1056(字符串判断是否存在一个字符串是另一个字符串的前缀)

    题目链接:https://vjudge.net/problem/POJ-1056 题意:给定一个字符串集,判断是否存在一个字符串是另一个字符串的前缀. 思路:和hdoj1671一样,有两种情况: 当前 ...

  4. lua判断字符串包含另一个字符串

    lua判断字符串包含另一个字符串 --string.find("元字符串","模式字符串") 如下: print(string.find("CCBWe ...

  5. 《JavaScript高级程序设计》读书笔记--前言

    起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...

  6. 《Javascript高级程序设计》读书笔记之对象创建

    <javascript高级程序设计>读过有两遍了,有些重要内容总是会忘记,写一下读书笔记备忘 创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决 ...

  7. Java核心技术卷一基础知识-第3章-Java的基本程序设计结构-读书笔记

    第3章 Java的基本程序设计结构 本章内容: 一个简单的Java应用程序 字符串 注释 输入输出 数据类型 控制流 变量 大数值 运算符 数组 本章主要讲述程序设计相关的基本概念(如数据类型.分支以 ...

  8. 《JavaScript 高级程序设计》读书笔记

    文章目录 第三章 基本语法 第四章 变量.作用域和内存问题 第五章 应用类型 1. Array 类型 2. RegExp 类型 3. Function 类型 4. String 类型 第六章 面向对象 ...

  9. 《PHP程序设计》读书笔记

    好久没有更新过我的博客了,主要前一阵子去了实习,现在实习进入尾声,终于有机会看看书了. 在前一阵子的实习中,用到最多就是PHP的CI框架和Jquery,所以现在再看一本有关PHP的书籍来深刻认识一下P ...

  10. 《JavaScript高级程序设计》读书笔记

    Javascript由以下三部分组成: 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) ECMAScript组成部分: 语法.类型.语句.关键字.保留子.操作符.对象. ...

随机推荐

  1. MySQL另类的备份恢复方法——innodb可传输表空间

      Preface       There're many ways in backing up or migrating data from one server to another one.Lo ...

  2. 《JSON笔记之二》----封装JSONUtil

    许多java开发人员对于fastjson再也熟悉不过了,这是alibaba开源的依赖,使用fastjson可以使我们很容易的把请求json串转换成为我们所需要的对象.list.map等对象格式,对于开 ...

  3. PHP无限分类生成树方法,非递归,引用

    //这个是核心方法 function generateTree($items){     $tree = array();     foreach($items as $item){         ...

  4. 1016-06-首页20-封装工具条---UITableView控件距离顶部的间距问题----cell选中时的背景颜色设置

    一.设置UITableView里面的顶部 cell 距离顶部的间距的三种方式: 方法 1. 直接设置: self.tableView.contentInset = UIEdgeInsetsMake(H ...

  5. POJ:2449-Remmarguts' Date(单源第K短路)

    Remmarguts' Date Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 33081 Accepted: 8993 Des ...

  6. 笔记-python-lib-chardet

    笔记-python-lib-chardet 1.      chardet chardet是一个非常优秀的编码识别模块, 是python的第三方库,需要下载和安装. 文档地址:https://pypi ...

  7. PHP.29-TP框架商城应用实例-后台6-商品会员添加-价格、级别

    首先把需求分析搞清楚 主要实现两个功能 1.会员管理,设置成为会员的要求 2.添加商品时,可设置会员优惠价格 具体实现 1.建表[会员级别限定表p39_member_level{Id,级别名称,积分下 ...

  8. cocos2d-x 3.0环境配置(转)

    cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大…… 但是凭心而论,3.0RC版本开始 ...

  9. android gridview 停止滚动

    http://blog.csdn.net/yaphetzhao/article/details/50544105 参考上面的博客,关键代码我就贴出来吧: public void stopGridVie ...

  10. gradle编译很慢解决方法

    1.升级内存,内存最好在8g以上. 我的12g,编译运行,2s22ms,不到3s. 2.设置Android staido 不要 打开instant run