天天看點

C語言之字元串長度和字元串反轉

 今天我想分享的是有關字元串的一寫内容,我們就先從最簡單的開始吧。main函數中定義一個字元串變量,我們想知道字元串的長度。字元串的長度通常是指字元串中包含字元的數目,我們可以通過調用庫函數得到,我們也可以通過自己編寫一個代碼來實作它。

  首先我們先在main函數裡面定義一個字元串數組,char *Qwe="abcdef";然後定義兩個指針p,q同時指向字元串的首位址,p指針不動一直指向首位址,當q指針的内容!="\0"時,它的位址一直加加,當它的内容="\0"時,用q指針指向的位址減去p指針指向的位址,得到的就是該字元串的長度。

#include<stdio.h>
#include <string.h>
int my_strlen(char *Xsw)
{
	char *q=Xsw;
	char *p=Xsw;
	while (*q!='\0')
	{
		q      
}
	return (q-p);
}
int main()
{
	char *Xsw="zxcvbnm";
	int ret=my_strlen(Xsw);
	printf("%d",ret);
	return 0;
}      
#include <stdio.h>
#include <string.h>
#include <assert.h>
void reserve(char *left,char *right)
{
	assert(left);
	assert(right);
	while (left<=right)
	{
		char tmp=*left;
		*left=*right;
		*right=tmp;
		left++;
		right--;
	}	
}
void Left_move(char *arr, int n,int len)
{
	reserve(arr,arr+n-1);
	reserve(arr+n,arr+len-1);
	reserve(arr,arr+len-1);
}
int main()
{
	char arr[]="abcdef";
	int len = strlen(arr);
	Left_move(arr,3,len);
	puts(arr);
	return 0;
}