Я настоящий новичок в C, но я учусь!Странный символ после массива символов
Я уже наткнулся на эту проблему и решил спросить, в чем причина. И, пожалуйста, объясните свои ответы, чтобы я мог учиться.
Я создал программу, которая позволяет вводить 5 символов, а затем показывать персонажи, которые вы написали, а также их вернуть, например: «asdfg» - «gfdsa». Странно, что странный символ отображается после ввода исходных символов.
Вот код:
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;
Если я ввожу: "Asdfg" показывает: "Asdfg ♣", почему это?
Спасибо за ваше время и, пожалуйста, объясните ваши ответы :)
Вам необходимо завершить массив символов. См. Http://stackoverflow.com/questions/10943033/why-are-strings-in-c-usually-terminated-with-0 –