я делаю эту программу ::
#include<stdio.h>
char *raw_input(char *msg);
main() {
char *s;
*s = *raw_input("Message Here Is: ");
printf("Return Done..");
printf(s);
}
char *raw_input(char *msg){
char *d;
printf("%s", msg);
scanf("%s",&d);
return d;
}
Для этого нужно распечатать мое сообщение и отсканировать ввод от пользователя, затем распечатать его, но в чем проблема при распечатке ввода от пользователя ???
Обновление ::
Мне нужна функция raw_input. звони так без всяких лишних
*s = *raw_input("Message Here");
Я не хочу использовать это ::
raw_input("Message Here Is: ", d);
....
Просто хочу вернуть строку, которую введет пользователь.
Update2 ::
от jamesdlin Ответ (Спасибо) ,, Теперь я понял, что моя проблема заключалась в том, как вернуть выделенную строку в этом:)
#include<stdio.h>
#define buffer 128
char *raw_input(char *msg);
main() {
char *s;
s = raw_input("Message Here Is: ");
printf("%s\n",s);
}
char *raw_input(char *msg){
char *d;
printf("%s", msg);
fflush(stdout);
fgets(d, buffer, stdin); ## In this there is a problem
return d;
}
теперь, когда я запускаю эту программу, она печатает сообщение, а затем просто выходит из программы (завершает работу), не принимая никаких слов от пользователя ???