Мне нужно было кодировать мой класс. Кодирование касается запроса пользователя ввести имя, возраст и идентификатор. Затем программа должна использовать код доступа на основе первых 6 букв от их имени, их возраста и первых двух букв в их идентификаторе студента. Проблема заключается в неопознанном символе (╠╠╠╠╠╠╠╠╠╠╠╠╠╠) на выходе. Может ли кто-нибудь сказать мне, почему он там? Затем он должен рассчитать и отобразить длину кода доступа. Вот код:У моего выхода есть некоторые странные символы, отображающие
#include <stdio.h>
#include <string.h>
void main(void)
{
char name[20], id[9], age[3], passcode[10];
int x;
puts("Enter your name:\n");
gets(name);
puts("\nEnter your student id:\n");
gets(id);
puts("\nEnter your age:\n");
gets(age);
x = strlen(passcode);
strncpy(passcode, name, 6);
strncat(passcode, id, 2);
printf("The passcode is:%s \n",passcode);
printf("The passcode has %d characters..\n",x);
}
И это выглядит следующим образом:
Enter your name:
johnny
Enter your student id:
dc87671
Enter your age:
20
The passcode is:johnny╠╠╠╠╠╠╠╠╠╠╠╠╠╠20dc
The passcode has 22 characters..
Press any key to continue . . .
Вы не должны использовать, чтобы читать строку из stdin. Используйте функции, такие как fgets() или getline() –