我有一项任务,我必须根据他们的输入打印用户年龄和姓名。
以下是代码:
#include <stdio.h>
#include <string.h>
void GetUserInfo(int* userAge, char userName[]) {
printf("Enter your age: \n");
scanf("%d", userAge);
printf("Enter your name: \n");
scanf("%s", userName);
return;
}
int main(void) {
int userAge = 0;
char userName[30] = "";
//insert code here
printf("%s is %d years old.\n", userName, userAge);
return 0;
}
除了//插入代码之外,我无法更改任何代码。 我很确定我必须调用该函数,但我无法弄清楚传递函数的参数。我试过了
void GetUserInfo(int* userAge, char userName[]);
但是你可能会发现它为名称传递了一个空字符串,并且由于main()
中的初始化而传递了0作为年龄。
答案 0 :(得分:0)
函数所需的参数是指向int的指针和指向char的指针。
GetUserInfo(&amp; userAge,userName);
“&amp;”运算符为您提供可用作指针的userAge变量的地址。
编译器将负责将charName的userName数组的开头作为第二个参数传递。