关于#c语言#的问题:如何使用switch case语句去判断结构体的成员


#include <stdio.h>
#include <string.h>
 
struct Books
{
   char  title[50];
   char  author[50];
   char  subject[100];
   int   book_id;
};
 
/* 函数声明 */
void printBook( struct Books book );
int main( )
{
   struct Books Book1;        /* 声明 Book1,类型为 Books */
   struct Books Book2;        /* 声明 Book2,类型为 Books */
 
   /* Book1 详述 */
   strcpy( Book1.title, "C Programming");
   strcpy( Book1.author, "Nuha Ali"); 
   strcpy( Book1.subject, "C Programming Tutorial");
   Book1.book_id = 6495407;
 
   /* Book2 详述 */
   strcpy( Book2.title, "Telecom Billing");
   strcpy( Book2.author, "Zara Ali");
   strcpy( Book2.subject, "Telecom Billing Tutorial");
   Book2.book_id = 6495700;
 
   /* 输出 Book1 信息 */
   printBook( Book1 );
 
   /* 输出 Book2 信息 */
   printBook( Book2 );
 
   return 0;
}
////问题???
 void printBook( struct Books book )(此函数传什么参数呢???) 
{ 
    switch(XXXX){ 
      case xxxx://(case 结构体成员判断) 
         printf( "Book title : %s\n", book.title); 
      break; 
      case xxxx: 
        printf( "Book author : %s\n", book.author); 
      break; 
     case xxxx: 
        printf( "Book title : %s\n", book.subject); 
      break; 
      default : 
    } 
}

为啥要switch呢,所有的都printf啊
根据上面的调用代码,显然是要输出book的所有成员变量啊,所以不需要switch

void printBook( struct Books book )(此函数传什么参数呢???) 
{ 
         printf( "Book title : %s\n", book.title); 
        printf( "Book author : %s\n", book.author); 
        printf( "Book title : %s\n", book.subject); 
        printf("Book book_id: %d\n",book.book_id);
}