c语言中串的基本操作问题,跪求大侠解决!!!!!!

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int slength(string s)
{
int i=0;
for(i=0;s[i]!='\0';i++);
return i;
}
int index(string s,string t,int pos)//返回子串t在s的第pos后的位子
{
int n,m,i=pos,j=1;
n=slength(s);
m=slength(t);
while(i<n&&j<m)
{
if(s[i-1]==t[j-1])
{
i++;
j++;
}
else
{
i++;
j=1;
}
}
if(j=slength(t))
return i;
else
return 0;
}
main()
{
string a='abcde',b='ab';
int n;
n=index(a,b,1);
printf("%d",n);
printf("\n");
}
//在c语言中怎么没有string,就是说string a,这个定义是错误的吗?

c哪来的Sting~~ 呢。c使用数组的方式处理字符串的。
C++或者java有专门的类处理字符串。。
如果c要使用的使用Sting的话可以用typedef预处理:
typedef char *string;

string a=“abcde”;
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-12
在C语言中定义肯定是错的,string在C++中才有追问

但是也有#include这个在c中啊

追答

当然有,这只是用操作字符串的头文件,但是在C语言里面并没有一种类型用来存储字符串,只能通过字符数组或字符指针来存储

参考资料:C

第2个回答  2011-10-12
二楼不错
相似回答