我试着做一个小的注册程序,把它分成一个标题,一个包含注册函数定义和主代码的源代码。
但是,我收到此错误消息:
error: expected expression before 'struct'.
我做错了什么?请帮助我是初学者。这是我的主要代码。
#include <stdio.h>
#include <stdlib.h>
#include "registration.h"
int main()
{
int choice;
puts("Press 1 to register");
scanf("%d", &choice);
if(choice==1){
registerUser(struct generalUser user);
}
}
这是我的标题代码。
struct generalUser{
char fName[15];
char lName[20];
int id;
int bDay;
int bMonth;
int bYear;
};
struct generalUser user;
void registerUser(struct generalUser user);
这是我定义函数的代码。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void registerUser(struct generalUser user){
srand(time(NULL));
puts("Insert name");
scanf("%s", user.fName);
puts("Insert last name");
scanf("%s", user.lName);
user.id=1 + rand()%9999;
printf("You ID code is %d", &user.id);
printf("Insert date of birth in the following format: dd/mm/yy");
scanf("%d/%d/%d", &user.bDay, &user.bMonth, &user.bYear);
printf("%s %s, id %d, %d/%d/%d", user.fName, user.lName, user.id, user.bDay, user.bMonth, user.bYear);
}
答案 0 :(得分:0)
您的源代码中有两个错误:
printf("You ID code is %d", &user.id);
: 请删除 & 因为您打印的是它的值而不是 refregisterUser(struct generalUser user);
中,请删除 struct generalUser
。您正在调用一个已将用户声明为全局的函数。