取子串(指针)

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;
}
相关推荐
Frank_zhou8 小时前
算法-链表实战【删除链表的倒数第 N 个结点】中等
数据结构
王中阳Go10 小时前
从超市收银到航空调度:贪心算法如何破解生活中的最优决策谜题?
java·后端·算法
故事挺秃然11 小时前
中文分词:机械分词算法详解与实践总结
算法·nlp
知然12 小时前
鸿蒙 Native API 的封装库 h2lib_arkbinder
c++·arkts·鸿蒙
十五年专注C++开发13 小时前
Qt .pro配置gcc相关命令(三):-W1、-L、-rpath和-rpath-link
linux·运维·c++·qt·cmake·跨平台编译
车队老哥记录生活13 小时前
【MPC】模型预测控制笔记 (3):无约束输出反馈MPC
笔记·算法
Cai junhao13 小时前
【Qt】Qt控件
开发语言·c++·笔记·qt
uyeonashi13 小时前
【QT系统相关】QT网络
开发语言·网络·c++·qt
地平线开发者14 小时前
BEV 感知算法评价指标简介
算法·自动驾驶
不过四级不改名67714 小时前
用c语言实现简易c语言扫雷游戏
c语言·算法·游戏