/************************************************* ***************** int_wrap.c - k4thryn aquilégia demonstração de limitações sobre os tipos de dados inteiro. este programa tem opções de assinatura ou unsigned argumentos, para que as diferenças de comportamento pode ser visto. boas opções (em compiladores w / 2-um pouco curto) são 32767-s u-65535 ************************************************** *****************/ # include <stdio.h> # include <stdlib.h> # include <string.h> void uso (char *); int main (int argc, char * argv []) ( unsigned short unsigned_number; curto signed_number; if (argc! = 3) ( uso (argv [0]); return 1; ) if (strncmp (argv [1], "-u", 2) == 0) ( printf ( "Tamanho em bytes:% d \ narg:% s \ n", sizeof (unsigned_number), argv [2]); sscanf (argv [2], "% hu", & unsigned_number); printf ( "\ nunsigned valor:% hu \ n", unsigned_number); printf ( "valor + 1:% hu \ n", + + unsigned_number); ) else if (strncmp (argv [1], "-s", 2) == 0) ( printf ( "Tamanho em bytes:% d \ narg:% s \ n", sizeof (signed_number), argv [2]); sscanf (argv [2], "% hd", & signed_number); printf ( "\ nsigned valor:% hd \ n", signed_number); printf ( "valor + 1:% hd \ n", + + signed_number); ) else ( uso (argv [0]); return 1; ) return 0; ) void uso (char * bin) ( fprintf (stderr, "Utilização: \ t% s - [sua] N \ n", bin); fprintf (stderr, "\ twhere-s indica assinado,-u indica unsigned, e N é um inteiro \ n retorno;
|
Bookmark int_wrap.c

