Programação Progressiva
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

Unsigned aceitando negativos

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1Unsigned aceitando negativos Empty Unsigned aceitando negativos Sex Jul 18, 2014 11:19 pm

williansilva.ti

williansilva.ti

Boa noite a todos.
Criei uma variável unsigned int, para armazenar apenas valores positivos. Segundo o curso C Progressivo, variáveis unsigned não permite que valores negativos sejam atribuidos ao tipo. No meu código o compilador insiste em adicionar o valor negativo digitado pelo usuário no programa.

Código:

#include <stdio.h>
int main(void)
{
    short unsigned int notaprova;
    printf("Digite o valor da nota da prova: ");
    scanf("%d",&notaprova);

    short unsigned int media = notaprova / 12;
    printf("Media final anual: %d",media);

    getchar();
    return 0;

}

2Unsigned aceitando negativos Empty Re: Unsigned aceitando negativos Ter Jul 22, 2014 5:59 pm

williansilva.ti

williansilva.ti

williansilva.ti escreveu:Boa noite a todos.
Criei uma variável unsigned int, para armazenar apenas valores positivos. Segundo o curso C Progressivo, variáveis unsigned não permite que valores negativos sejam atribuidos ao tipo. No meu código o compilador insiste em adicionar o valor negativo digitado pelo usuário no programa.

Código:

#include <stdio.h>
int main(void)
{
    short unsigned int notaprova;
    printf("Digite o valor da nota da prova: ");
    scanf("%d",&notaprova);

    short unsigned int media = notaprova / 12;
    printf("Media final anual: %d",media);

    getchar();
    return 0;

}

esse forum funciona?

3Unsigned aceitando negativos Empty Re: Unsigned aceitando negativos Ter Set 16, 2014 10:02 am

Mauro Britivaldo

Mauro Britivaldo

Olá!
Sou novo no fórum e estou aprendendo também.
Algumas versões de compiladores para win7 e quase todas Linux o int tem 4 bytes antes era 2 bytes.
eu uso code::blocks 13.12 que já vem com o compilador mais atual.
Que me obriga a declarar as variáveis assim
Código:
/*Declara, inicializa e imprime minhas variáveis unsigned short x (2 Bytes - 65535) */
   unsigned short num_0 = -1;
   unsigned short num_2 = -1;
   printf("short unsigned num_0: %d tem Bytes: %d"
        "\nshort unsigned num_2: %d tem Bytes: %d"
          ,num_0,sizeof num_0,num_2,sizeof num_2);

se fizer o mesmo com tipo em qualquer parte não dará certo.

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos