NERO23
2013-02-25 18:56:54 UTC
#include <stdio.h>
#include <string.h>
int main(void)
{
char s1[17];
char s2[] = "Bella partita";
memcpy(s1, s2, 7);
printf("%s\n", s1); // VISUALIZZA: Bella p@
return 0;
}
La funzione memcpy() dovrebbe copiare i primi sette caratteri del
testo "Bella partita" nel vettore s1.
Quando vado a stampare, in realtà mi ritrovo i sette caratteri più il
carattere '@' (in altre prove che ho fatto mi ritrovavo altri simboli
strani).
Perchè si verifica questo?
Devo dedurre che la dichiarazione del vettore s1 viene sovrapposta su
celle già sporche di dati precedentemente utilizzate?
Ciao
nero23
#include <string.h>
int main(void)
{
char s1[17];
char s2[] = "Bella partita";
memcpy(s1, s2, 7);
printf("%s\n", s1); // VISUALIZZA: Bella p@
return 0;
}
La funzione memcpy() dovrebbe copiare i primi sette caratteri del
testo "Bella partita" nel vettore s1.
Quando vado a stampare, in realtà mi ritrovo i sette caratteri più il
carattere '@' (in altre prove che ho fatto mi ritrovavo altri simboli
strani).
Perchè si verifica questo?
Devo dedurre che la dichiarazione del vettore s1 viene sovrapposta su
celle già sporche di dati precedentemente utilizzate?
Ciao
nero23