Вы объявили символ, но рассматриваете его как строку. В C строки на самом деле являются одномерными массивами символов с нулевым символом '\ 0' в конце.
Следующее:
"my fun string"
соответствует этому в C:
{'m', 'y', ' ', 'f', 'u', 'n', ' ', 's', 't', 'r', 'i', 'n', 'g', '\0'}
Вам нужно выделить массив символов, достаточно большой для имени. Примерно так:
int max_size=120; char name[max_size];
поэтому ваш код должен выглядеть так:
#include <stdio.h>
int main()
{
int age;
int max_size=120;
char name[max_size];
printf("Enter your age here: ");
scanf("%d", &age);
printf("Your age is %d.\n", age);
printf("enter your name here: \n");
scanf("%s", &name);
printf("Your name is %s and your age is %d.\n", name, age);
return 0;
}
Кроме того, вы, вероятно, не должны использовать scanf()
. fgets()
является предпочтительным.