取子串(指针)

cpp 复制代码
#include <stdio.h>
#include <string.h>

char* substr(char *s, int startloc, int len) {
    static char result[51]; // 定义一个足够大的静态数组来存储结果
    static char result1[] = {'N','U','L','L','\0'};
    int i, j;

    // 检查startloc是否在字符串的范围内
    if (startloc < 1 || startloc > strlen(s)) {
        return result1; // 如果不在范围内,返回NULL
    }

    // 计算实际要复制的子串长度
    int actual_len = (startloc + len-1 < strlen(s)) ? len : (strlen(s) - startloc+1);

    // 复制子串到结果数组
    for (i = startloc-1, j = 0; i < startloc + actual_len-1; i++, j++) {
        result[j] = s[i];
    }
    result[j] = '\0'; // 添加字符串结束符

    return result; // 返回结果
}

int main() {
	int t;
	scanf("%d",&t);
	while(t--)
	{
		char a[100];
		scanf("%s",a);
		int x,y;
		scanf("%d %d",&x,&y);
		printf("%s\n", substr(a, x, y));
	}

    return 0;
}
相关推荐
m0_675988235 分钟前
Leetcode2545:根据第 K 场考试的分数排序
python·算法·leetcode
人才程序员8 分钟前
QML z轴(z-order)前后层级
c语言·前端·c++·qt·软件工程·用户界面·界面
破-风8 分钟前
leetcode---mysql
算法·leetcode·职场和发展
w(゚Д゚)w吓洗宝宝了10 分钟前
C vs C++: 一场编程语言的演变与对比
c语言·开发语言·c++
Wils0nEdwards13 分钟前
Leetcode 合并两个有序链表
算法·leetcode·链表
eternal__day2 小时前
数据结构十大排序之(冒泡,快排,并归)
java·数据结构·算法
小老鼠不吃猫2 小时前
C++点云大文件读取
开发语言·c++
姚先生972 小时前
LeetCode 35. 搜索插入位置 (C++实现)
c++·算法·leetcode
Theodore_10223 小时前
3 需求分析
java·开发语言·算法·java-ee·软件工程·需求分析·需求
CoderCodingNo3 小时前
【GESP】C++二级考试大纲知识点梳理, (4)流程图
开发语言·c++·流程图