当前位置:首页 » 编程语言 » c语言子串

c语言子串

发布时间: 2022-05-04 19:52:27

A. c语言之求字符串的子串

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char*sub(char*s,intst,intlen)
{char*s1;
inti;
s1=(char*)malloc(len);
for(i=0;i<len;i++)s1[i]=s[st+i-1];
s1[i]='';
returns1;
}
intmain()
{intn,i,j;
chars[200];
scanf("%d%*c",&n);
while(n--)
{printf("inputastring:");
gets(s);
printf("i=");
scanf("%d",&i);
printf("j=");
scanf("%d%*c",&j);
if(i+j>strlen(s))printf("Error ");
elseprintf("%s ",sub(s,i,j));
}
return0;
}

B. C语言字符串

若你的编译器支持中文字符输出,则你可把输出语句里的英文字符改用中文。
#include<stdio.h>
int main()
{
char s[80];
int i;
printf("input a string (upper-case latters only) please:\n");
loop: gets(s);
for (i=0;i<strlen(s);i++){
if (s[i]>='A' && s[i]<='Z') continue; //大写判断
else {
printf("re_input a string (upper-case latters only) please:\n");
goto loop; //转向语句
};
};
printf("output reversed:\n");
for (i=strlen(s)-1;i>=0;i--) printf("%c",s[i]);
return 0;
}

C. c语言,取字符串的子串

//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));
}

D. c语言字符串长度有哪些

这个字符串长度为10个字符。

可以用strlen("ab'1'\12803")来求这个字符串的长度。

也可以用sizeof("ab'1'\12803")来求,但是这个求出的结果是多了一个字符串结束符。

可以试着输出这个字符串看看是不是10个字符。

strlen()函数判断的字符串长度是以为结尾作为标志的。

当char * m=new char[TOKEN_LENGTH]后,虽然为指针分配了地址,但是其指向的内容未被初始化,所以m指向的内容是未知的,可能在第24个字符的位置发现了所以strlen()显示长度为24。

数据类型

字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。

以上内容参考:网络-字符串

E. C语言怎么合并两个字符串

代码:

char str1="123";

char str2="abc";

strcat(str1,str2);

printf("%s",str1);

例如:

#include <stdio.h>

#include <string.h>

main()

{

char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";

strcat(strSor,strDes);//链接

puts(strDes);

puts(strSor);

}

(5)c语言子串扩展阅读:

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

F. C语言判断一个字符串是否是另一个字符串的子串

1、首先,定义两个整型变量,保存判断的数和同构串计数。

G. C语言中判断一个字符串是否为另一字符串的子串

你的if语句后面再加个if语句判断f是否等于1,等于1就不用循环了。你没判断,后面的字符又把你的1改回0了。修改后代码如下

#include<stdio.h>
#include<string.h>
main(){
chara[100],b[100];
inti,j,f=0;
gets(a);//cde
gets(b);//aabbcdefghbcd
for(i=0;i<strlen(b);i++){
if(b[i]==a[0]){
for(j=1;j<strlen(a);j++){
if(a[j]==b[i+j]){
f=1;
continue;
}else{
f=0;
break;
}
}
}
if(f==1){
break;
}
}
if(f==1)
printf("YES");
else
printf("NO");
}

使用库函数strstr

#include<stdio.h>
#include<string.h>
main(){
chara[100],b[100];
gets(a);
gets(b);
if(strstr(b,a)!=NULL){//第2个参数第1个参数的子串
printf("YES");
}else{
printf("NO");
}
}

H. 如何用c语言来表达一个字符串

1)在串值后面加一个不计入长度的结束标记字符,比如'\0'来表示串值的终结

初始化一个字符串的方法如下,在最后添加'\0'

char str[] = {'I','a','m','h','a','p','p','y','\0'};
也可以直接使用字符串常量初始化字符数组(系统自动加上'\0'),这种方法符合人们的习惯。

char str[] = "I am happy";
或者
char str[] = {"I am happy"};
注意:不能使用下面的赋值方式:
char str[20];
str = "I am happy";
但可以用字符指针指向这个字符串:
char *str;
str = "I love China";

(2)将实际串长度值保存在数组0的下标下

#define MAXSIZE 20 //数组的长度
typdef char String[MAXSIZE+1];
初始化字符串的方法:

String t;
StrAssign(t,"I am happy");
int StrAssign(String T,char *chars)
{
T[0] = strlen(chars); //下标为0存放数组长度
for(i=1;i<=strlen(chars);i++) //下标位置从1开始存放数据
{
T[i] = *(chars+i-1);
}
return 1;
}
(3)使用结构体类型(自定义类型)

#define MAXSIZE 20
typedef struct{
char ch[MAXSIZE];
int len;
}String;
其中:MAXSIZE表示串的最大长度,ch是存储字符串的一维数组,len是字符串的长度
初始化函数示例:

String t;
StrAssign(&t,"I am happy");
int StrAssign(String *t,char *chars)
{
int i;
if(strlen(chars)>MAXSIZE+1) //字符串的长度大于数组的长度,操作失败,返回0
return 0;
for(i=0;i<strlen(chars);i++)
{
t->ch[i] = *(chars+i);
}
t->len = strlen(chars); //数组的长度
return 1; //返回1,操作成功
}
说明:这里的StrAssign函数的参数t使用的是指针,是因为结构体变量做做形参,用法和普通变量一样属于值传递方式,在子函数中要给t赋值,所以输入的是t的指针。与之对比的是(2)子函数中T是数组,传入的是数组的首地址(改变形参也就改变了实参)。

————————————————
版权声明:本文为CSDN博主“chenkaibsw”的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chenkaibsw/article/details/78957944

I. C语言子串

比如字符串“abcdefghi”,“a”、“bcd”、“defg”等都是“abcdefghi”子串

热点内容
分布式缓存部署步骤 发布:2025-05-14 13:24:51 浏览:610
php获取上一月 发布:2025-05-14 13:22:52 浏览:89
购买云服务器并搭建自己网站 发布:2025-05-14 13:20:31 浏览:688
sqlserver建立视图 发布:2025-05-14 13:11:56 浏览:484
搭建httpsgit服务器搭建 发布:2025-05-14 13:09:47 浏览:255
新电脑拿回来我该怎么配置 发布:2025-05-14 13:09:45 浏览:240
视频服务器新建ftp用户 发布:2025-05-14 13:03:09 浏览:225
php花生 发布:2025-05-14 12:54:30 浏览:550
java人才 发布:2025-05-14 12:29:10 浏览:649
如何打开软密码 发布:2025-05-14 12:28:55 浏览:427