-
dokumentacja twoim przyjacielem
- używaj opcji kompilatora
-Wall
(włącza ostrzeżenia) albo -Werror
(traktuj ostrzeżenia jak błędy). https://wandbox.org/permlink/JlevbHpExqCePxZj
- Masz "undefined behavior" bo przypisujesz za pomocą scanf
int
do zmiennej char
(stąd ostrzeżenia)
- rada powyżej jest bezsensu, bo nie chcesz wczytywać znaku tylko liczbę
- Użyj
int
zamiast char
- jeśli koniecznie ma być
char
to dokumentacja mówi, że format string ma być:
scanf("%hhu",&x);
Dlaczego na tej stronce którą podlinkowałeś program działa poprawnie a u mnie coś się krzani
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned char x,y,a,b,c;
printf("WYPISZ 2 LICZBY""\n");
printf("Pierwsza liczba: ");
scanf("%hhu",&x);
printf("Druga liczba: ");
scanf("%hhu",&y);
printf("Podane liczby: %hhu %hhu\n",x,y);
a=x|y;
b=x&y;
c=x^y;
printf("Wynik OR: %hhu %x\n",a,a);
printf("Wynik AND: %hhu %x\n",b,b);
printf("Wynik XOR: %hhu %x\n",c,c);
return 0;
}
pokazuje 0 zamiast pierwszej liczby