Ir ao conteúdo
  • Cadastre-se

alecounter

Membro Pleno
  • Posts

    42
  • Cadastrado em

  • Última visita

Tudo que alecounter postou

  1. por qual motivo isso acontece? e uma curiosidade, onde voce aprendeu C?
  2. então vou criar uma estrutura só de char's para ver se isso realmente está acontecendo, um momento adicionado 1 minuto depois criei aqui e está dando 3 bytes(criei uma estrutura com 3 char). adicionado 2 minutos depois engraçado que quando crio apenas uma estrutura com 1 char , o "peso" é 1B. agora se coloco um int na estrutura, passa a "pesar" 8B. porque isso?
  3. eu fiz aqui... sizeof(int)=4B sizeof(float)=4B sizeof(char)=1B somatório = 9B. mas sizeof(DADOS)=12B != 9B... por que a diferença?
  4. é o gcc mesmo. mas você disse que a soma deu 9B, mas quando eu faço sizeof(DADOS) a resposta é 12B... o que está consumindo esses 3B?
  5. to usando win64 aqui... quanto deveria dar?
  6. Oi pessoal tudo bem? seguinte, criei a seguinte estrutura: typedef struct { int numero1; float numero2; char letra; } DADOS; Eu esperava que essa estrutura tivesse tamanho igual a 7 bytes (int = 2 bytes, float = 4 bytes, char 1 byte) porém quando mando imprimir sizeof(DADOS) a saída é 12! alguém saberia me explicar o por quê?
  7. o que exatamente esse código deveria fazer?
  8. Eu fiz assim void main() { unsigned long numero, soma=0, i=0; printf("Digite o numero em binario: "); scanf("%ld", &numero); while(numero != 0) { soma += (numero%2)*pow(2,i); numero /= 10; i++; } printf("%d", soma); } mas esse código só funciona bem pra binários abaixo de 1111111111.
  9. Oi pessoal tudo bem? alguém poderia me explicar por que está dando erro ao compilar este código: typedef struct { float raio; } CIR; typedef struct { float lado1; float lado2; float lado3; } TRI; typedef struct { float lado1; float lado2; } RET; typedef struct { int tipo; union { CIR circulo; TRI triangulo; RET retangulo; } dimensoes; } GEOMETRIA; float calcula_area(GEOMETRIA figura) { switch(figura.tipo) { case(0): return(3.1415*pow(figura.dimensoes.circulo.raio,2)); case(1): float a = figura.dimensoes.triangulo.lado1; float b = figura.dimensoes.triangulo.lado2; float c = figura.dimensoes.triangulo.lado3; float p = (a+b+c)/2; return(sqrt(p*(p-a)*(p-b)*(p-c))); case(2): return(figura.dimensoes.retangulo.lado1*figura.dimensoes.retangulo.lado2); default: return(-1); } } quando altero a função calcula_area da seguinte maneira, o código compila: typedef struct { float raio; } CIR; typedef struct { float lado1; float lado2; float lado3; } TRI; typedef struct { float lado1; float lado2; } RET; typedef struct { int tipo; union { CIR circulo; TRI triangulo; RET retangulo; } dimensoes; } GEOMETRIA; float calcula_area(GEOMETRIA figura) { float a,b,c,p; switch(figura.tipo) { case(0): return(3.1415*pow(figura.dimensoes.circulo.raio,2)); case(1): a = figura.dimensoes.triangulo.lado1; b = figura.dimensoes.triangulo.lado2; c = figura.dimensoes.triangulo.lado3; p = (a+b+c)/2; return(sqrt(p*(p-a)*(p-b)*(p-c))); case(2): return(figura.dimensoes.retangulo.lado1*figura.dimensoes.retangulo.lado2); default: return(-1); } } obrigado desde já
  10. obrigado pela sugestão, vou fazer o download e testar, eu não gostei do Dev-C++ porque ele ficou encrencando com uns comandos aqui por exemplo: for(int i = 1; i < n; i++) ele reclama que tá declarando dentro do for, e o lcc não dava esse pau.
  11. Pessoal, o problema foi resolvido trocando o compilador, agora estou usando o Dev-C++ obrigado a todos!
  12. Será que é um problema do compilador então? Estou usando o lcc
  13. Oi pessoal, tudo bem? estou aprendendo C e estou com dificuldades na parte de matriz. Por exemplo, quando faço o seguinte código void main() { char matriz[3][3] = {{'a','b','c'},{'d','e','f'},{'g','h','i'}}; printf("%c", matriz[1][1]); } não há impressão alguma na tela, agora se faço void main() { int matriz[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; printf("%d", matriz[1][1]); } a saída é 5. Por qual motivo está acontecendo isso?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!