Em linguagem C em strings como faço para saber se uma string digitada é igual a uma segunda string sem fazer o uso da função strcmp?
Respostas
respondido por:
0
#include <stdio.h>#include <stdlib.h>
int main(void){
char palavra[] = "brainly"; char digitada[150];
printf("Escreva a palavra: "); scanf("%s",&digitada);
if( compara(palavra, digitada) ){ printf("As palavra sao iguais"); }else{ printf("As palavras sao diferentes"); }}
int compara(char *p1, char *p2){
//i para iterar, iguais se 1 verdadeiro se 0 falso int i, iguais = 1;
//compara as palavras letra por letra for(i = 0; i<strlen(p1); i++){ //se encontra uma diferença, retorna 0 if(p1[i] != p2[i]){ iguais = 0; return iguais; } } //se não encontrou diferença retorna 1, são iguais return iguais;}
int main(void){
char palavra[] = "brainly"; char digitada[150];
printf("Escreva a palavra: "); scanf("%s",&digitada);
if( compara(palavra, digitada) ){ printf("As palavra sao iguais"); }else{ printf("As palavras sao diferentes"); }}
int compara(char *p1, char *p2){
//i para iterar, iguais se 1 verdadeiro se 0 falso int i, iguais = 1;
//compara as palavras letra por letra for(i = 0; i<strlen(p1); i++){ //se encontra uma diferença, retorna 0 if(p1[i] != p2[i]){ iguais = 0; return iguais; } } //se não encontrou diferença retorna 1, são iguais return iguais;}
Anônimo:
não entendo muito bem sem uma tabulação
respondido por:
0
A lógica é bem simples...
primeiro você precisa comparar se o tamanho das strings são iguais. Se não forem, de cara as strings já são diferentes.
Se os tamanhos forem iguais basta você rodar um for (até o tamanho da string)comparando cada char de cada posição da string1 com a string2.
Se em alguma iteração houver um char (na mesma posição de ambas) que são diferentes, consequentemente as strings são diferentes.
primeiro você precisa comparar se o tamanho das strings são iguais. Se não forem, de cara as strings já são diferentes.
Se os tamanhos forem iguais basta você rodar um for (até o tamanho da string)comparando cada char de cada posição da string1 com a string2.
Se em alguma iteração houver um char (na mesma posição de ambas) que são diferentes, consequentemente as strings são diferentes.
Perguntas similares
6 anos atrás
6 anos atrás
8 anos atrás
9 anos atrás
9 anos atrás