结构混乱(2)[重复]

问题描述 投票:0回答:1

可能重复:
结构混乱

我需要帮助...我的代码中有一些错误(我已经在行中添加了一些注释),如下所示:

错误:“bookRecord”之前的预期表达式

.....这是一个程序,它将一些书籍数据存储在结构体数组中,并使用一个函数来查看用户搜索的书籍是否可用..

所以我想修复错误并使 bookRecord 看起来不像一个变量,

你知道我该怎么做吗,因为我在这里堆了好几个小时!

提前致谢!

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


 #define TRUE 1
  #define FALSE 0

 #define NUM_BOOKS 5



     typedef struct {
    int minute; 
    int hour;   
     } timeT;


typedef struct {

   char title[50];  
   char author[50];     
   int year;        
   int isOut;                   
   timeT time;      
   int isBlank;         
 } bookRecord;


/* given array of struct */

  bookRecord stacks[NUM_BOOKS]=
   {
   {"C How To Program", "Deitel", 2006, FALSE, {0,  0}, TRUE} ,
   {"The Old Capital", "Yasunari Kawabata", 1996, FALSE, { 0, 0}, TRUE},
   {"", "", 0, FALSE, {0,0}, FALSE},
   {"", "", 0, FALSE, {0,0}, FALSE},
   {"", "", 0, FALSE, {0,0}, FALSE}
   };


  int requestBook(bookRecord title[],bookRecord author[]){    /* compiler error */
      int i;
      for(i=0;i<=NUMBOOKS-1;i++){
              if(strcmp(stacks[i].tittle ,bookRecord.title[0]) == 0 &&                                                                              
              strcmp(stacks[i].author     ,bookRecord.author[0]) == 0 ){

              return 1;
               }
       }
               return 0;
  }

int main (int argc, char*argv[]) { 
int t;

scanf("%s ",bookRecord.title);         /* compiler error */
scanf("%s",bookRecord.author);     /* compiler error */

 t=requestBook(bookRecord.title, bookRecord.author);   /* compiler error*/
 printf("%d",t);


 return 0;
}
arrays c function struct
1个回答
0
投票

代码中的问题是您使用的是类型而不是变量!

bookRecord is a type not variable

int requestBook(bookRecord title[],bookRecord author[]){    /* compiler error */

用这个代替(以避免混淆):

int requestBook(bookRecord title_record[],bookRecord author_record[]){

这里

title_record
author_record
是 bookRecord 类型的结构数组,我不确定这种行为是您想要的,您应该为作者创建一个类型。

对于

main
内部的错误,请使用 var
stacks
而不是类型
bookRecord

© www.soinside.com 2019 - 2024. All rights reserved.