Я новичок в C языке и пытаюсь создать простую программу для возврата имени и возраста. Я создал рабочую функцию для возврата имени, но это не работает для возврата целого.
Код, который у меня сейчас есть:
int * GetAge(){
int Age;
printf("What is your age: ");
scanf(" %d", &Age);
int * returnedage = Age;
return returnedage;
}
Это GetName ():
char * GetName(){
char Name[31];
printf("What is your name: ");
scanf("%s", Name);
char * returnedname = Name;
return returnedname;
}
Предупреждение в этой строке:
int * returnedage = Age;
Там написано:
incompatible integer to pointer conversion
initializing 'int *' with an expression of type 'int'; take
the address with &
Я пытался:
int * returnedage * Age;
int * returnedage & Age;
//for strcpy I set the function as a char
char * returnedage;
strcpy(Age, returnedage);
Ни одна из этих работ.
Я хочу просто получить имя и возраст, тогда в основном я печатаю имя и возраст:
printf("Your name is %s and your age is %d", GetName(), *GetAge());
Нет ошибок.
Итак, мой ожидаемый результат:
What is your name: Ethan
What is your age: 13
Your name is Ethan and your age is 13
Что я на самом деле получаю:
What is your name: ethan
What is your age: 13
exit status -1
Скажите, пожалуйста, есть ли для этого базовое решение?