Ir ao conteúdo
  • Cadastre-se
paulo leal

C comparando string usando ponteiro

Recommended Posts

Estou fazendo um programa para compara duas strings mas sem usar a função strcmp da biblioteca string. Eu tenho que fazer essa função usando ponteiro mas meu código esta dando um erro que eu não sei resolver 

#include <stdio.h>

int strcmp(const char* s1; const char* s2);

int main (){
	char* s1="abcde";
	char* s2="ABCDE";
	
	if(strcmp(s1,s2)==0){
		printf("As duas strings sao iguais\n");
	}else{
		printf("As duas strings sao diferentes\n");
	}
	
	
}
int strcmp(const char* s1, const char* s2)
{
  for ( ; *s1 == *s2; ++s1, ++s2) {
    if (*s1 == '\0') {
      return 0;
    }
  }
  if (*s1 < *s2) {
    return -1;
  }
  else {
    return +1;
  }
}

obs: estou começando agora a mexer em ponteiros. 

 

estes são os erros que aparecem no compilador DEV-C++

 

3    24    G:\atividade 06\questão 05.c    [Error] parameter 's1' has just a forward declaration

3    5    G:\atividade 06\questão 05.c    [Warning] conflicting types for built-in function 'strcmp'

G:\atividade 06\questão 05.c    In function 'main':

9    5    G:\atividade 06\questão 05.c    [Error] too many arguments to function 'strcmp'

3    5    G:\atividade 06\questão 05.c    [Note] declared here

G:\atividade 06\questão 05.c    At top level:

17    5    G:\atividade 06\questão 05.c    [Error] conflicting types for 'strcmp'

3    5    G:\atividade 06\questão 05.c    [Note] previous declaration of 'strcmp' was here

Compartilhar este post


Link para o post
Compartilhar em outros sites

[3][Error] parameter 's1' has just a forward declaration

    Esse é porque voce colocou ponto-virgula no lugar de virgula.

int strcmp(const char* s1; const char* s2);

~~~~~~~~~~~~~~~~~~ ^  

Erro: parâmetro 's1' está com indicado de fim de declaração.

 

[2][Warning] conflicting types for built-in function 'strcmp'

    Esse 'erro' porque os parâmetros são const e os argumento não const.

    Isso não é um erro, isso é uma alerta que nesse caso não tem problema algum.

 

Eu acho que os demais erros advém destes 2.

Ps.: Melhor IDE que exite para C é o bloco de notas :P

Antes usei o Code Blocks, porém agora uso bloco de notas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@AnsiC  A era só erro da virgula mesmo valeu cara. Passei mais de um hora olhando este código e não entendia esse erro kkkkk.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×