один из аргументов выходит каша.
Как правильно его передать в printf?
int credentials(char * log, char * pass)
{
int i=0;
int check=0;
char * ulog=(char *)malloc(50);
ulog = "nigger";
printf("%s",log); <--- тут вывод
на выходе такое:
��UUUU
Вызов прикладывайте.
int main() { int ch; int bytes_read; char *login; size_t size = 50; char *password; char *charr; login=(char *)malloc(size); password=(char *)malloc(size); printf("Enter login: \n"); bytes_read=getline(&login, &size, stdin); if(bytes_read==-1) { puts("ERROR"); exit(1); } printf("%s",login); printf("\nEnter password: \n"); bytes_read=getline(&password, &size, stdin); if(bytes_read==-1) { puts("ERROR"); exit(1); } credentials(&login,&password); return 0; } int credentials(char * log, char * pass) { int i=0; int check=0; char * ulog=(char *)malloc(50); ulog = "nigger"; printf("%s",log); int ch; if (strcmp(log, ulog) == 0) printf("\nStrings are Equal \n"); else printf("\nStrings are not Equal \n"); }
Мне даже интересно, как вы заставили "это" собраться. Вы передаёте в функцию указатель на указатель, когда она ждёт указатель.
ulog = "nigger"; :)
Обсуждают сегодня