GetUserInfo函数

时间:2017-10-14 20:11:28

标签: c function pointers parameters

我有一项任务,我必须根据他们的输入打印用户年龄和姓名。

以下是代码:

#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作为年龄。

1 个答案:

答案 0 :(得分:0)

函数所需的参数是指向int的指针和指向char的指针。

GetUserInfo(&amp; userAge,userName);

“&amp;”运算符为您提供可用作指针的userAge变量的地址。

编译器将负责将charName的userName数组的开头作为第二个参数传递。