То, как вы объявили Password
, неверно.
char *Password;
Это указатель на какое-то случайное место в памяти, которое вы нигде не определяете в своем коде, поэтому вы получите неопределенное поведение. Вы можете назначить ему некоторую выделенную память, используя malloc()
или лучше для этого простого примера, просто используйте вместо этого массив, подобный этому:
char Password[10];
Если бы вы использовали malloc()
, вы бы сделали это так:
char *Password;
Password=malloc(10);
и когда вы закончите с памятью, вы должны помнить, чтобы освободить ее.
free(Password);
Для копирования строки вы используете strcpy
, который работает с любой из указанных мной опций
strcpy(Password,"1234");