Witam,
Borykam się z pewnym problemem związanym z funkcją scanf(). Martwi mnie sposób jej działania w przypadku przypisania wartości skanowanej do zmiennej o mniejszej wartości niż wartość skanowana
#include <stdio.h>
int main (int argc, char* argv[]) {
int i;
char komenda[1];
while (1) {
printf(">>> ");
scanf("%s", komenda);
printf(">>> %s\n", komenda);
printf(">>> %c\n",komenda[2]);
}
return 0;
}
Powyższy kod w przypadku inputu "abc" wypisze 'c'...
Czyli wypisze 3 z kolei znak przypisanego stringa... Dlaczego skoro tablica zaalokowana jest statycznie i ma 1 wiersz i 1 kolumne (1 element).
Pozdrawiam