Cześć,
miałem zadanie z jezyka c które w końcu udało mi się samemu rozwiązać, innym sposobem niż pierwotnie planowałem. Byłbym wdzięczny gdyby ktoś spróbował mi wytłumaczyć dlaczego ten pierwotny pomysł nie działa? Kod wyglądał tak:
#include<stdio.h> void main() { int x=1; int i,l,d; char b,c; printf("Podaj ilosc liter:\n"); scanf("%d",&l); c=getchar(); char tab[l],tab2[l]; printf("Podaj litery:\n"); for(i=0;i<l;i++) { scanf("%c",&tab[i]); c=getchar(); } d=l; for(i=0;i<l;i++) { d--; tab2[d]=tab[i]; } printf("\n"); //Jeszcze tutaj obie tablice zawierają to co powinny. for(i=0;i<l;i++) { if(tab[i]!=tab2[i]) { x=0; } printf("%c %c\n",tab[i],tab2[i]); } for(i=0;i<l,i++) // To dodałem tylko po to by sprawdzić czy w tej tablicy dalej jest to co wpisał użytkownik. { printf("1%c",tab[i]); // Z nieznanego mi powodu, w tym miejscu tab[i] zawiera już tylko puste pola. } if(x==1) { printf("Slowo jest palindromem.\n"); } else { printf("Slowo nie jest palindromem.\n"); } } ~
Zauważyłem, że gdy zrobię to w ten sposób to tab[1] zamienia się nagle na pustą.