Для проекта мне нужно спросить у пользователя имя файла, и я читаю его по буквам, используя getchar
.
Из основного я вызываю функцию char *coursename= introPrint(); //start off
, чтобы напечатать инструкции по использованию и получить первый бит ввода. Эта функция определяется как
char *introPrint(){
int size= 20;
int c;
int length=0;
char buffer[size];
//instructions printout, cut for brevity
//get coursename from user and return it
while ( (c=getchar()) != EOF && (c != '\n') ){
buffer[length++]= c;
if (length==size-1)
break;
}
buffer[length]=0;
return buffer;
}
Это в основном идентичный код, который я написал, чтобы попросить пользователя ввести, заменить символьное эхо звездочками, а затем распечатать результаты. Здесь, однако, я получаю предупреждение function returns address of local variable
для оператора return. Так почему же я не получаю предупреждения от другой программы, но запускаю одно для этого кода?