Ragazzi, ho un dubbio che non riesco proprio a chiarire. Risolvendo un certo programma avevo bisogno di copiare due caratteri di una stringa su una dimensione minore. Semplificando
codice:
#include <stdio.h>
#include <strings.h>
void main() {
char str1[10]="amico";
char di[2];

di[0]=str1[0];
di[1]=str1[1];
printf("%s", di);
}
Perché stampo amamico?

Non dovrebbe stampare solo am? Pensavo fosse un errore di logica dato che avevo inserito questo caso semplice all'interno di cicli for, ma ora capisco che è un errore di base, base.