【发布时间】:2023-03-24 00:40:01
【问题描述】:
问题:我正在编写这个程序,它允许用户在从 int 函数调用后通过 fgets() 方法在 void 函数中输入他们的姓名和学校详细信息,我如何确保这个 void 函数中的数组是一个全局数组,然后允许我调用另一个名为 list users 的函数来列出所有用户详细信息?
int main(){
int choice, userEnd =1;
printf("1: list user details\n");
printf("2: add user details \n");
printf("3: end the programme\n");
while(userEnd)
{
printf("Enter your choice: \n");
scanf("%d",&choice);
if(choice==1){
listUsers();
}
if(choice ==2){
addUsers();
}
if(choice ==3){
userEnd =0;
}
}
return 0;
}
void addUsers(){
int length = 100;
char userName[length];
char className[length];
printf("Enter user name\n");
fgets(userName,size,stdin);
printf("Enter className:\n");
fgets(className,size,stdin);
printf("User added\n");
}
void listUsers(){
/*if addUsers array is empty, print "empty", else print all user details from addUsers.*/
printf("your name is %s, your class is %s",userName, userSize)
}
【问题讨论】:
-
不要在函数范围内声明变量,而是在所有函数之外。这些变量在全局范围内,并且可以通过全局名称从所有函数中访问。最好为此使用参数和返回值,但我猜你还在学习。
-
在任何函数之外声明变量,它将在 thaytfile 中是全局的。
标签: c