Witam. Napisałem program który wyświetla wartości tabeli a następnie po wprowadzeniu adresu rozpatrywanego podaje wartość pierwotną a następnie przesuniętą o jeden bit w prawo lub w lewo dla danego adresu tabeli. Jednak program pokazuje głupoty niezgodne z założeniami. Proszę o pomoc.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int tab1[11]={1,10,20,30,40,50,60,70,80,90,100};
int a,b;
printf("\n\n Adres: 0 1 2 3 4 5 6 7 8 9 10\n");
printf("Wartosc:");
for(a=0; a<11; a++){
printf(" %d",tab1[a]);
}
printf("\n\nWprowadz adres: ");
scanf("%d",&b);
printf("\n\nWartosc w adresie %d wynosi: %d", b, tab1[b]);
printf("\n\nPrzsuniecie bitowe o 1 w prawo dla adresu %d wynosi: %d", b, tab1[b>>1]);
printf("\n\nPrzsuniecie bitowe o 1 w lewo dla adresu %d wynosi: %d\n\n\n", b, tab1[b<<1]);
return 0;
}