//main.c
#include "head.h"
int main(void)
{
char* arr = "hello world! my name is c~";
//统计非空字符串个数
char *arr1 = arr;
int counts1 = CountsNoSpace(arr1);
printf("非空字符个数为:%d\n", counts1);
//统计全部字符串个数
char *arr2 = arr;
int counts2 = CountsArr(arr2);
printf("字符串个数为:%d\n", counts2);
//逆置字符串
char *arr3 = arr;
char reverse_arr = ReverseArr(arr3);
return 0;
}
//head.h
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
#include <string.h>
#endif
//字符串功能.c
#include "head.h"
//统计全部字符串
int CountsArr(char *arr)
{
int counts = 0;
char* p = arr;
while (*p != '\0')
{
counts++;
p++;
}
return counts;
}
//统计非空字符串
int CountsNoSpace(char* arr)
{
int counts = 0;
char* p = arr;
while (*p != '\0')
{
if (*p == ' ')
{
p++;
}
else
p++,
counts++;
}
return counts;
}
//字符串逆置
char ReverseArr(char *arr)
{
char* start = arr;
char* end = arr + strlen(arr) -1 ;
while (start < end)
{
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
printf("%s", arr);
}
#include "head.h"
int main(void)
{
char* arr = "hello world! my name is c~";
//统计非空字符串个数
char *arr1 = arr;
int counts1 = CountsNoSpace(arr1);
printf("非空字符个数为:%d\n", counts1);
//统计全部字符串个数
char *arr2 = arr;
int counts2 = CountsArr(arr2);
printf("字符串个数为:%d\n", counts2);
//逆置字符串
char *arr3 = arr;
char reverse_arr = ReverseArr(arr3);
return 0;
}
//head.h
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
#include <string.h>
#endif
//字符串功能.c
#include "head.h"
//统计全部字符串
int CountsArr(char *arr)
{
int counts = 0;
char* p = arr;
while (*p != '\0')
{
counts++;
p++;
}
return counts;
}
//统计非空字符串
int CountsNoSpace(char* arr)
{
int counts = 0;
char* p = arr;
while (*p != '\0')
{
if (*p == ' ')
{
p++;
}
else
p++,
counts++;
}
return counts;
}
//字符串逆置
char ReverseArr(char *arr)
{
char* start = arr;
char* end = arr + strlen(arr) -1 ;
while (start < end)
{
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
printf("%s", arr);
}