定义一个User结构体,含以下字段: id: 一个数字,每个用户不同的id email: email地址,一般网站的用户允许以email地址登录 QQ: QQ号码 写一个函数,在User数组中查找某个id的User(知识点:结构体数组初始化;指针访问成员变量)
时间: 2023-05-19 07:03:33 浏览: 89
好的,以下是我的回答:
```c
#include <stdio.h>
#include <string.h>
#define MAX_USERS 100
typedef struct {
int id;
char email[50];
char qq[20];
} User;
User users[MAX_USERS];
User* findUserById(int id) {
for (int i = 0; i < MAX_USERS; i++) {
if (users[i].id == id) {
return &users[i];
}
}
return NULL;
}
int main() {
// 初始化用户数组
users[0].id = 1;
strcpy(users[0].email, "user1@example.com");
strcpy(users[0].qq, "123456");
users[1].id = 2;
strcpy(users[1].email, "user2@example.com");
strcpy(users[1].qq, "654321");
// 查找id为2的用户
User* user = findUserById(2);
if (user) {
printf("id=%d, email=%s, qq=%s\n", user->id, user->email, user->qq);
} else {
printf("找不到id为2的用户\n");
}
return 0;
}
```
这个程序定义了一个User结构体,包含id、email和qq三个字段。然后定义了一个User数组,最多可以存放100个用户。接着定义了一个findUserById函数,它接受一个id参数,返回对应的User指针,如果找不到则返回NULL。最后在main函数中初始化了两个用户,然后调用findUserById函数查找id为2的用户,并打印出它的email和qq。
阅读全文