为了完成一个更大的项目,我试图了解如何向函数发送一个结构数组和一个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/