Так что я довольно новичок в программировании, и я начал C около 3 дней назад. Я создавал эту короткую программу, чтобы проверить себя. Это просто базовая программа на языке C, требующая вашего имени и фамилии. Вот код:Понимание scanf в C
#include <stdio.h>
int main()
{
char first[20];
char last[20];
printf("Please enter your first name:");
scanf("%s",&first);
printf("\nand Please enter your last name:");
scanf("%s",&last);
printf("Greetings fellow %s %s!\n",first,last);
return(0);
}
Но когда я иду к компиляции я получаю эту ошибку каждый раз, когда:
checkname.c:9: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘char (*)[20]’
checkname.c:11: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘char (*)[20]’
Я знаю, что я могу использовать gets()
кроме, по-видимому, это плохо, и я не должен Не используйте его. Что не так с этим кодом? Я не понимаю, в чем проблема.
Я оставил бы эти пробелы в квадратных скобках. – chris
Не забудьте новую строку '\ n' в конце каждой строки формата' printf' или, по крайней мере, называть 'fflush'! –
Да, извините, когда я отправляю код, который он сделал, файлы заголовков исчезают с помощью brakcets. Возможно, для html5 или что-то еще. –