File: Stare vježbe/vjezbe02/13__limits_char.c

  1. /*
  2.   13__limits_char.c
  3.   Uvodjenje tipa unsigned char
  4.   Overflow i underflow
  5.   Kako se ponasaju maksimalne i minimalne vrijednosti za signed i unsigned char
  6. */
  7.  
  8. #include <stdio.h>
  9. /* Datoteka limits.h sadri simbolicke konstante koje daju minimalne i maksimalne
  10.   dozvoljene vrijednosti cjelobrojnih tipova podataka */
  11. #include <limits.h>
  12.  
  13. int main ()
  14. {
  15. char ch;
  16. unsigned char uch;
  17.  
  18. ch='A';
  19. printf("ch (%%c, %%d): %c, %d\n", ch, ch);
  20.  
  21. uch='A';
  22. printf("uch (%%c, %%d): %c, %d\n\n", uch, uch);
  23.  
  24. /* maksimalna vrijednost za varijablu tipa char */
  25. ch=CHAR_MAX;
  26. uch=CHAR_MAX;
  27. printf("CHAR_MAX (ch, uch): %d, %d\n", ch, uch);
  28.  
  29. ch=ch+1;
  30. uch=uch+1;
  31. printf("CHAR_MAX+1 (ch, uch): %d, %d\n", ch, uch);
  32.  
  33. /* minimalna vrijednost za varijablu tipa char */
  34. ch=CHAR_MIN;
  35. uch=CHAR_MIN;
  36. printf("CHAR_MIN (ch, uch): %d, %d\n", ch, uch);
  37.  
  38. ch=ch-1;
  39. uch=uch-1;
  40. printf("CHAR_MIN-1 (ch, uch): %d, %d\n", ch, uch);
  41.  
  42. /* maksimalna vrijednost za varijablu tipa unsigned char */
  43. ch=UCHAR_MAX;
  44. uch=UCHAR_MAX;
  45. printf("UCHAR_MAX (ch, uch): %d, %d\n", ch, uch);
  46.  
  47. ch=ch+1;
  48. uch=uch+1;
  49. printf("UCHAR_MAX+1 (ch, uch): %d, %d\n", ch, uch);
  50.  
  51. return 0;
  52. }
  53.