Mais esquisitices de strings...Se ponteiros e matrizes equivalem, porque não funciona a sequencia abaixo:
char nome[50];
nome = "joão";
tá, ele não pode associar um char[50] com um char[5]...tudo bem, mas se usar ponteiros, funciona:
char * nome = new char [50];
nome = "joão";
E tem um componente a mais, já que com ponteiros ficaria mais claro se fosse assim:
*nome++ = 'j';
*nome++ = 'o';
*nome++ = 'a';
*nome++ = 'o';
*nome = '\0';
nome = nome-4;
for (int i=0; i<5; i++) { cout << *nome++ ; }
Bem, problemas para pensar ...
Tchê.
sexta-feira, 15 de junho de 2007
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;
}
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;
}
segunda-feira, 15 de maio de 2006
Gerador de números aleatórios em C
Para Gerar números aleatórios em C entre zero e um limite máximo (menor que 0x07FF,
utilize a função abaixo;
retorno: inteiro entre zero e limiteMax .
Precisa incluir as bibliotecas time.h e math.h
utilize a função abaixo;
retorno: inteiro entre zero e limiteMax .
Precisa incluir as bibliotecas time.h e math.h
- int GeraNumeroAleatorio (int limiteMax)
{
int x;
float tmp;
srand( (unsigned)time( NULL ) );
x = rand();
if (x > limiteMax)
{- tmp = ((float)x/(float)RAND_MAX) * limiteMax;
x = floor(tmp);
}
return x;- tmp = ((float)x/(float)RAND_MAX) * limiteMax;
}
sexta-feira, 28 de abril de 2006
Assinar:
Postagens (Atom)

