字符串函数汇总
1. strlen :计算字符串的⻓度。
2. strcpy :将⼀个字符串复制到另⼀个字符串中。
3. strcat :将⼀个字符串连接到另⼀个字符串的末尾。
4. strcmp :⽐较两个字符串是否相等。
5. strncmp :⽐较两个字符串的前n个字符是否相等。
6. strchr :在⼀个字符串中查找⼀个字符,并返回该字符在字符串中第⼀次出现的位置。
7. strstr :在⼀个字符串中查找另⼀个字符串,并返回该字符串在原字符串中第⼀次出现的位 置。
#include<stdio.h>
#include<string.h>
int main() {
char str1[20] = "hello";
char str2[20] = "world";
char str3[20];
// strlen,计算字符串str1⻓度
printf("Length of str1 is %zd\n", strlen(str1));
// strcpy,将str1的内容复制到str3中
strcpy(str3, str1);
printf("str3 after strcpy: %s\n", str3);
// strcat,将str2的内容添加⾄str1末尾
strcat(str1, str2);
printf("str1 after strcat: %s\n", str1);
// strcmp,⽐较str1与str2是否相等,函数返回值为0表⽰两字符串相等
if (strcmp(str1, str2) == 0) {
printf("str1 and str2 are equal\n");
}
else {
printf("str1 and str2 are not equal\n");
}
// strchr,返回第⼀个指向字符'o'的指针,若不存在,则返回空
char* p = strchr(str1, 'o');
printf("First occurrence of 'o' in str1 is at position %d\n", p - str1);
// strstr,查找字符"World"是否存在字符串str1⾥,若存在,返回第⼀次出现位置,否则返回NULL
char* q = strstr(str1, "World");
printf("First occurrence of 'World' in str1 is at position %d\n", q - str1);
return 0;
}
执⾏操作后的变量值
算法思路:
1. 定义⼀个变量 x ,将其初始化为0;
2. 遍历操作数组,如果操作是 X++ 或 ++X,则将 x 的值加 1。否则,将 x 的值减 1;
3. 或者判断字符串下标为1的字符c,若c=+,则将x的值加1,否则,将x的值减1;
4. 返回变量 x 的值。
代码:
int finalValueAfterOperations(char** operations, int operationsSize) {
int i = 0;
int x = 0;
for (i = 0; i < operationsSize; i++) {
//使⽤strcmp函数对字符串进⾏⽐较,若字符串是"X++"或"++X"其中之⼀,则进⾏x++操作
if (!strcmp(operations[i], "X++") || !strcmp(operations[i], "++X")) {
x++;
}
else {
x--;
}
}
//返回最终值
return x;
}