1.字符串复制
把一个字符串的内容复制到另一个字符数组中。
代码如下:
#include<stdio.h>
int main()
{
char str1[10] = "abcde";
char str2[10];
int i;
for (i = 0; str1[i] != '\0'; i++)
{
str2[i] = str1[i];
}
str2[i] = '\0';
printf("%s\n", str2);
return 0;
}
2.字符串连结
把一个字符串连结到另一个字符串的后面。
代码如下:
#include<stdio.h>
int main()
{
char str1[10] = "abcde";
char str2[10] = "xyz";
//下面的for循环是为了找到第一个字符串的结尾,好将xyz连结在后面
int i;
for (i = 0; str1[i] != '\0'; i++)
{
;//空语句
}
int j;
for (j = 0; str2[j] != '\0'; j++, i++)
{
str1[i] = str2[j];
}
str1[i] = '\0';
printf("%s\n", str1);
return 0;
}
3.字符串比较
比较两个字符串的大小,字符串的大小将按照字典序定义。
代码如下:
#include<stdio.h>
int Mystrcmp(char str1[], char str2[])
{
int i;
for (i = 0; str1[i] == str2[i] && str1[i] != '\0'; i++)
{
;//空语句
}
return str1[i] - str2[i];
}
int main()
{
char str1[] = "abcde";
char str2[] = "abcce";
printf("%d\n", Mystrcmp(str1, str2));
//当输出结果为 1 时,则str1>str2;
//当输出结果为 -1时,则str1<str2;
//当输出结果为 0 时,则str1=str2;
return 0;
}
4.字符串反转
例如:"abc"->"cba"。
代码如下:
#include<stdio.h>
#include<string.h>
void Reverse(char str[])
{
int i = 0;
int j = strlen(str) - 1;
char tmp;
for (; i < j; i++, j--)
{
tmp = str[i];
str[i] = str[j];
str[j] = tmp;
}
}
int main()
{
char str1[] = "abcde";
char str2[] = "ahsdibevnksudiilgh";
Reverse(str1);
Reverse(str2);
printf("%s\n", str1);
printf("%s\n", str2);
return 0;
}