| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1137 人关注过本帖
标题:初学 c 字符串对比问题 有两个地方不太懂
取消只看楼主 加入收藏
daienkai
Rank: 1
等 级:新手上路
帖 子:30
专家分:7
注 册:2017-1-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
初学 c 字符串对比问题 有两个地方不太懂
你会读到两个字符串,每个字符串占据一行,每个字符串的长度均小于10000字符,
而且第一个字符串的长度小于第二个字符串的。
你的程序要找出第一个字符串在第二个字符串中出现的位置,
输出这些位置,如果找不到,则输出-1。

#include <stdio.h>
char input1[100];//必须开全局变量!不然会有意外情况。
char input2[100];
int main() {
    char ch;
    long l1 = 0;
    long l2 = 0;
    while ((ch = getchar()) != '\n') {//有空格字符的输入
        input1[l1++] = ch;
    }
    while ((ch = getchar()) != '\n') {
        input2[l2++] = ch;
    }
    int flag = 0 , i = 0, h = 0 ;
    for ( i = 0; i < l2; i++)
     {
        for ( h = 0; h < l1; h++)
         {
            if (input1[h] != input2[i + h])  这里实在弄不清楚是怎么回事??
             {
                break;
            }
            if (h == l1 - 1)  还有这里又在干些什么 ??
             {
                printf("%d ", i);
                flag = 1;
            }
        }
    }
    if (!flag) {
        printf("-1");
    }
    return 0;
}





搜索更多相关主题的帖子: include 字符串 而且 
2017-02-07 17:15
daienkai
Rank: 1
等 级:新手上路
帖 子:30
专家分:7
注 册:2017-1-31
收藏
得分:0 
大神求救啊
2017-02-07 18:20
快速回复:初学 c 字符串对比问题 有两个地方不太懂
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011863 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved