c语言,取字符串的子串

Python016

c语言,取字符串的子串,第1张

//vc++ 6.0下运行通过

#include <stdio.h>

#include <stdlib.h>

char *subs(char *s,int n,int m)

{

char *p

int i=0

p=s

while(*p++ != '\0') //NULL是void *型

{

i++

}

if(n<0||m<0||m<n||m>i)

{

printf("Substring invidal !\n")

exit (0)

}

p=s+n

*(p+m+1)='\0'//必须'\0',printf函数读到'\0'停止;

return(p)

}

int main(void)

{

char s1[]="The c programing language!"// char *常量

system("cls")

printf("%s\n",subs(s1,5,16))

}

定义为:char *p

完整的程序如下:

#include<stdio.h>

#include<string.h>

void main()

{

int i

char a[30],ch

char *p//这里!这里!这里!这里!这里!这里!这里!这里!这里!这里!

gets(a)//输入带空格字符字符串,赋予字符数组变量a

ch=getchar()//输入要查找的字符赋予字符变量b

p=strchr(a,ch)//查找字符位置函数

if(p!=NULL)

printf("在字符串%s中以字符%c开始的子串为%s.\n",a,ch,p)

else

printf("在字符串%s中没找到字符%c.\n",a,ch)

}