| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2056 人关注过本帖
标题:请问代码里runtime error显示SIGSEGV该怎么办
取消只看楼主 加入收藏
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
结帖率:96.88%
收藏
已结贴  问题点数:10 回复次数:3 
请问代码里runtime error显示SIGSEGV该怎么办
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int finding(char a[],char b[])
{   char c[100]={0},d[200000]={0};
int flag=0;
int k;
  for(int i=0;i<strlen(a);i++)
    c[i]=toupper(a[i]);
   for(int i=0;i<strlen(b);i++)
    {if(b[i]==' ')
        d[i]=b[i];
    else
        d[i]=toupper(b[i]);}
        if((strlen(c)==strlen(d))&&(strcmp(c,d)==0))
           {
               printf("1");
               return 0;
           }
   else{for(int i=0;i<strlen(d);i++)
    {    if(strncmp(d,c,strlen(c))==0&&d[strlen(c)]==' ')
    {
        flag=1;
        k=0;
        break;
    }
       else {if(i+strlen(c)!=strlen(d))
             {if((strncmp(d+i,c,strlen(c))==0)&&(d[i-1]==' ')&&d[i+strlen(c)]==' ')
        {
            flag=1;
            k=i;
            break;
        }}
        else {if((strncmp(d+i,c,strlen(c))==0)&&(d[i-1]==' '))
        {
            flag=1;
            k=i;
            break;
        }
}}}}
    if(flag==0) {printf("None");
    return 0;}
    else printf("%d",k+1);
    return 0;
}
void main()
{
    int cnt;
    scanf("%d ",&cnt);
    for(int i=0;i<cnt;i++)
    {
        char a[100],b[200000];
        gets(a);
        gets(b);
        printf("case #%d:\n",i);
        finding(a,b);
        printf("\n");
    }
}

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


//我想用字符串写,先把数组全部换成大写字母,然后再考虑开头结尾空格的情况
//但是好难,后面还有四十多个测试点
搜索更多相关主题的帖子: flag int if printf strlen 
2020-03-19 13:30
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 
题目:有一个单词 W,输出它在字符串 S 中从左到右第一次出现的位置 IDX(设 S 中的第 1 个字符的位置为 1)。W 只由英文字母组成,S 除英文字母和汉字之外在任何位置(包括头和尾)另有一个或多个连续的空格。

查找单词时,不区分大小写,但要求完全匹配,即单词 W 必须与 S 中的某一独立单词在不区分大小写的情况下完全匹配。W 仅是 S 中某一单词的一部分就不算匹配。
输入格式

第 1 行:一个整数 T (1≤T≤10) 为问题数。

接下来共 2T 行,对应每个问题有 2 行,表示 W 和 S (1≤W长度≤10;1≤S长度≤1000000)。
输出格式

对于每个问题,输出一行问题的编号(0 开始编号,格式:case #0: 等)。

然后对应每个问题在一行中输出 IDX。
S 中没有找到 W 时输出 None。
样例
Input

3
IN
Find a word within a string in English and in Chinese.
to
    Find a word within a string in English and in Chinese.
In
    Find a word within a string in English and in Chinese.

Output

case #0:
29
case #1:
None
case #2:
33


我想要两颗西柚。
2020-03-19 13:31
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 
回复 3楼 纯蓝之刃
谢谢!

我想要两颗西柚。
2020-03-20 00:01
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
收藏
得分:0 
回复 4楼 forever74
数0数错了..改了之后在第12点变成time limited了,很难过,不过还是谢谢!

我想要两颗西柚。
2020-03-20 00:02
快速回复:请问代码里runtime error显示SIGSEGV该怎么办
数据加载中...
 
   



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

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