1. 程式人生 > 其它 >C語言函式題-取子串 (10分)

C語言函式題-取子串 (10分)

技術標籤:c語言字串c語言

6-3取子串 (10分)

編寫程式碼,完成從指定字串中取指定子串的程式碼(不利用string.h類庫),給定的是子串起始位置和長度,返回一個新的子字串的首地址。如果起始位置不妥,返回空串。如果後面的子串長度不足,則返回儘量長的子串。

操作介面說明:

char* subStr(char *st,int pos,int len);

st是原字串初址;pos是取子串的初始位置(pos>=0);len是所取子串的最大長度(len>0)。要求建立並返回要求的子串首地址。

裁判測試程式樣例:

在這裡給出函式被呼叫進行測試的例子。例如:

#include <stdio.h>
#include <stdlib.h> char* subStr(char *st,int pos,int len){ //start //這裡是你填入的程式碼,已有的不用再!!! //end } int main(){ char s[]="0123456789A123456789B123456789"; int pos,len; scanf("%d%d",&pos,&len); char *p=subStr(s,pos,len);//pos,len>=0 printf("[%s]\n"
,p); return 0; } /* 請在這裡填寫//start與//end間應該填寫的程式碼 */

輸入樣例:

兩個整數分別表示起始位置與子串長度,用空格分隔:

3
13

輸出樣例:

[3456789A12345]

if(pos>=30)	return "\0";
	char *s = st+pos;
	*(s+len) = '\0';
    return s;

不要想複雜了