字符串拷贝

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

void my_strcpy1(char* src, char* dest)
{
int i = 0;
while (src[i])
{
dest[i] = src[i];
i++;
}
dest[i] = '\0';
}

void my_strcpy2(char* src, char* dest)
{
while (*src)
{
*dest = *src;
src++;
dest++;
}
*dest = '\0';
}

int main()
{

char* src = "hello";
char* dest[100] ;
my_strcpy2(src, dest);
printf("%s",dest);

return 0;
}


找字符位置

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

char* my_strch(char* src, char* ch)
{
while (*src)
{
if (*src == *ch)
{
return src;
}
src++;
}
return NULL;
}

int main()
{
char* src = "hello world";
char* ch = "o";


char* ret = my_strch(src, ch);
if(ret != NULL)
printf("%s", ret);


return 0;
}


去空格

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

void my_strnospace(char* src, char* dest)
{
while (*src)
{
if (*src != ' ')
{
*dest = *src;
dest++;
}
src++;
}
*dest = '\0';
}
int main()
{
char* src = "ni chou sha";
char dest[100];

my_strnospace(src, dest);

printf("%s",dest);


return 0;
}


字串个数

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>

int str_times(char* str, char* substr)
{
int count = 0;
char* p = strstr(str,substr); //"llollollo"
while (p != NULL)
{
count++;
p += strlen(substr); //3
p = strstr(p,substr);//"llollo"
}
return count;
}


int main()
{

char str[] = "hellollollo";
char substr[] = "llo";

int ret = str_times(str,substr);

printf("%d",ret);

return 0;
}


字符串倒序

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
void str_inserse(char* str)
{
char* start = str;
char* end = str + strlen(str) - 1;

while (start < end)
{
char tmp = *start;
*start = *end;
*end = tmp;
start++;
end--;
}
}

int main()
{
char str[] = "helloworld"; //变量 如果拿指针创建就是常量

str_inserse(str);

printf("%s\n",str);


return 0;
}


判断回文

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int str_inserse(char* str)
{
char* start = str;
char* end = str + strlen(str) - 1;

while (start < end)
{
if (*start != *end)
{
return 0; //不是回文
}
start++;
end--;
}
return 1; //回文
}

int main()
{
char str[] = "abccba"; //变量 如果拿指针创建就是常量

int ret = str_inserse(str);


if (ret == 1)
{
printf("回文");
}
else
{
printf("不是回文");

}

return 0;
}