Ganha a oferta de uma string

Eu acredito que nós cordas utilizados na vida, hoje eu quero falar um pouco pontos de conhecimento para explicar:

  1. constantes de strings e arrays de caracteres
  •  constantes string: char * arr, foi responsável por quatro bytes, não pode fazer alterações para somente leitura. Após a pluralidade de constantes string inicializados com o mesmo valor, eles apontam para o mesmo espaço de memória, ele vai ser igual.
  • Disposição de caracteres: char arr [], com alguns bytes atribuídos vários bytes, '\ 0' um byte, pode ser alterado, se uma pluralidade de matriz de caracteres é inicializado para o mesmo valor, o sistema irá ser atribuído a cada espaço, por isso não vai apontar para o mesmo espaço de memória. espaços de solução alternativos

    2. Substitua o espaço de cadeia

  • Descrição do problema: Faça uma função implementada, cada um dos cadeia de substituição é "20%", por exemplo, digite "estamos felizes", a saída "nós% 20are% 20happy".  
  • Análise de Problemas: Do ponto de vista formal, o assunto é tratado após uma série de perguntas será mais longo, o início Eu gostaria de vir espaço de volta, o número atrás do primeiro movimento, mas de modo muito complexo, e um desperdício de espaço esta é uma substituição do antigo pensamento para trás, faria alguns elementos são movidos por duas vezes. Então nós colocamos um outro pensamento, é para substituir os dados de antes, então depois de todos os números só irá mover uma vez, vamos dar um olhar específico em um mapa

 

# include <stdio.h>
# include <string.h>
void replace(char *a,int len)
{
	int p=0;
	int q=0;
	int count=0;
	for(int i=0;a[i]!='\0';i++)
	{
		if(a[i]==' ')
		{
			count++;
		}
		p++;
	}
	q=p+2*count;
	while(p!=q)
	{
		if(a[p]==' ')
		{
			p--;
			a[q--]='0';
			a[q--]='2';
			a[q--]='%';
			
		}
		else
		{
			a[q]=a[p];
			p--;
			q--;
		}
	}
}
void show(char *a,int len)
{
	for(int i=0;a[i]!='\0';i++)
	{
		printf("%c ",a[i]);
	}
}
int main()
{
	char a[100]="we are happy.";
	show(a,100);
	printf("\n");
	replace(a,100);
	show(a,100);
}

O resultado:

Vamos lá! ! !

Publicado 54 artigos originais · ganhou elogios 8 · vista 5324

Acho que você gosta

Origin blog.csdn.net/qq_43411555/article/details/90274436
Recomendado
Clasificación