1.作业:用自己的代码完成string数功能
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char str[100];
gets(str);
//实现strlen的功能
int i=0;
//如果访问到'\0',它的ascii码为0,条件为假
while(str[i])
{
//即实现了计数的功能,也实现了向后访问元素的功能
i++;
}
printf("%d\n",i);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char str[30]="heheuwuwjwke";
char str1[]="ooooo";
//实现strcpy函数的功能
int i=0;
/*while(str1[i])
{
str[i]=str1[i];
i++;
}
//赋'\0'
str[i]=str1[i];*/
//求源字符串的长度
int len=strlen(str1);
//循环赋值,要把'\0'也赋值过去,所以i<=len
for(i=0;i<=len;i++)
{
str[i] = str1[i];
}
puts(str);
return 0;
}
//strcat
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//实现strcat功能
char str[30]="heheuwuwjwke";
char str1[]="ooooo";
int i=0,j=0;
//找目标字符串'\0'的位置
while(str[i])
{
i++;
}
//把源字符串的每一位拼接过去
while(str1[j])
{
str[i]=str1[j];
i++;j++;
}
str[i]=str1[j];
puts(str);
return 0;
}
//strcmp
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char str[30]="hehe9999";
char str1[]="hehe999998888";
int i=0;
//实现strcmp功能
//按位比较ascii码,相等就继续向后比较,
//比较到不等或者'\0'退出
while(str[i]==str1[i]&&str[i]!='\0')
{
i++;
}
printf("%d\n",str[i]-str1[i]);
return 0;
}