quarta-feira, 28 de março de 2007

Strings em C

Nem sempre é fácil entender o uso de Strings (cadeia de caracteres ) em C. Coisas estranhas acontecem se não usar a biblioteca string.h.

Por exemplo, o programa abaixo não funciona. Sabe porquê ? (eu não sei explicar....)

#include "stdafx.h"

int main(int argc, char* argv[])
{
char senha[7] = "Valdir" ;
char outrasenha[7] = "Valdir" ;

if (senha == outrasenha)
{
// nunca entra aqui...porquê ???
printf("Vc ACERTOU a senha \n");
}
else
{
printf("vc ERROU a senha..\n");
}

return 0;
}

Mas se usar a função STRCMP funciona bem... coisas de C. Fica assim:

#include "stdafx.h"
#include

int main(int argc, char* argv[])
{
char senha[7] = "Valdir" ;
char outrasenha[7] = "Valdir" ;

if (strcmp(senha,outrasenha) == 0)
{
printf("Vc ACERTOU a senha \n");
}
else
{
printf("vc ERROU a senha..\n");
}

return 0;
}