NYJYA 发表于 2019-7-27 08:33:18

请问我的代码还有哪些错误吗?谢谢啊

题目描述
subStr是C++里面的计算一个字符串子串的函数,请实现subStr函数。
给定字符串s,子串的起始位置i和子串长度l, subStr返回从i开始的长度为l的字符串作为子串。
代码
#include<iostream>
using namespace std;
#include<cstring>
#include<iomanip>
char p;
char *substr(char *s,int i,int l)
{
        int k = strlen(s),j = 0,M;
       
        if(i >= k || i < 0)
        strcpy(p,"Not Valid!" );
        else if(l >= (k-i))
        {
                M = i;
                while(s != '\0')
                {
                        p = s;
                        j++;
                        M++;
                }
                p = '\0';
        }
        else
        {
                M = i;
                while(j != l)
                {
                        p = s;
                        j++;
                        M++;
                }
                p = '\0';
        }
        return p;
}
int main()
{
        char s,a;
        int i,l;
        cin >> s;
        cin >> i >> l;
        strcpy(a,substr(s,i,l));
        cout << a << endl;
        return 0;
}

Mondayisgood 发表于 2019-7-27 10:46:29

p 需要初始化
s,a 需要初始化
比如
char p = {0};

NYJYA 发表于 2019-8-1 21:46:09

Mondayisgood 发表于 2019-7-27 10:46
p 需要初始化
s,a 需要初始化
比如


初始化后还是出现错误{:10_266:}{:10_266:}
页: [1]
查看完整版本: 请问我的代码还有哪些错误吗?谢谢啊