Sono un vero principiante di C, ma sto imparando!Personaggio strano dopo una serie di caratteri
Mi sono imbattuto in questo problema e ho deciso di chiedergli quale sia la ragione. E per favore spiega le tue risposte così posso imparare.
Ho creato un programma che consente di inserire 5 caratteri e quindi mostrare i caratteri che hai scritto e anche ripristinarli, ad esempio: "asdfg" - "gfdsa". La cosa strana è che un personaggio strano viene mostrato dopo i caratteri originali che sono stati immessi.
Ecco il codice:
char str[5];
char outcome[] = "OOOOO";
int i;
int u;
printf("Enter five characters\n");
scanf("%s", str);
for(i = 4, u = 0; i >=0; u++, i--){
outcome[i] = str[u];
}
printf("\nYou wrote: %s. The outcome is: %s.", str , outcome);
return 0;
Se entro: "asdfg" mostra: "asdfg ♣", perché?
Grazie per il vostro tempo e vi prego di spiegare le vostre risposte :)
È necessario terminare la matrice di caratteri. Vedere http://stackoverflow.com/questions/10943033/why-are-strings-in-c-usually-terminated-with-0 –