为了完成一个更大的项目,我试图了解如何向函数发送一个结构数组和一个char*类型的标记。这段代码的作用是:
打开文件
标记化文件
将令牌和结构数组发送到搜索函数
搜索功能将遍历arrayofstructures,使用strcmp查找与token的匹配
如果match found返回1,则主函数将检查1或0
如果为0,则不向结构数组添加标记,如果为1,则向结构数组添加标记
我只是写了一个小程序,看看我是否可以发送数组,和令牌到一个函数和比较,但我得到了这么多的错误,我失去了在做什么,因为我不明白大多数错误。

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

int search(struct id array[],char* tok);

struct id
{
    char name[20];
    int age;
};

int main(void)
{
    struct id person[2] = { {"John Smith", 25},
                            {"Mary Jones", 32} };
    char* token = "Mary Jones"; /*char* for strtok() return type*/
    search(person,token);
}

int search(struct id array[],char* tok)
{
    int i,value;int size = 2;
    for(i=0;i<size;i++)
    {
        if(strcmp(array[i].name,tok) == 0)
            value = 0;
        else
            value = 1;
    }
    return value;
}

最佳答案

地点

int search(struct id array[],char* tok);

申报后。并将struct的返回值赋给一个search变量。
int found = search(person,token);
if(found == 0)
    printf("Name is found\n"); // or whatever you want

关于c - 发送结构数组以起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24640899/

10-11 23:21
查看更多