0

这是结构

int main() {
    typedef struct {
        char firstName[25];
        char lastName[30];
        char street[35];
        char city[20];
        char state[3];
        int zip;
        char phone[15];
        int accountId;
    }Customer ;

假设我用 x 量的数据填写了这个。

什么是基于其成员搜索此结构的数组索引的简单方法,然后打印该“客户”信息。具体来说,我希望按州搜索客户。

4

1 回答 1

2

下面是一个我相信会有所帮助的例子。当然,需要扩展客户定义、记录打印和数据填充。另请注意,customer[] 在此示例中位于堆栈上,因此其成员不会归零,因此应以一种或另一种方式设置为预期值。

#include <string.h>
#include <stdio.h>

#define NUM_RECORDS   10

int main()
{
    int i;
    typedef struct {
        char state[3];
    } Customer;

    Customer customer[NUM_RECORDS];
    strcpy(customer[2].state, "CA");

    for (i = 0; i < NUM_RECORDS; i++)
    {
        // if this customer record's state member is "CA"
        if (!strcmp(customer[i].state, "CA"))
            printf("state %d: %s\n", i, customer[i].state);
    }

    // Prints "state 2: CA"

    return 0;
}
于 2013-02-23T05:04:00.180 回答