Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C if语句中的book[]错误_C_Function_If Statement_Struct - Fatal编程技术网

C if语句中的book[]错误

C if语句中的book[]错误,c,function,if-statement,struct,C,Function,If Statement,Struct,Idk y book[]在visual studio plz帮助中获取错误 void displayInventory(const struct Book book[], const int size) { if(book[]

Idk y book[]在visual studio plz帮助中获取错误

void displayInventory(const struct Book book[], const int size) {
if(book[]<0){
printf(“库存为空!”);
printf(“=====================================================================================”);
}
否则{
printf(“库存”);
printf(“==================================================================================\n”);
printf(“ISBN标题年价格数量”);
printf(“-------------+-------------+---+---+---+----”;
printf(“%-10.0d%-20s%-5d$%-8.2f%-8d”,图书[].\u isbn,图书[].\u书名,图书[].\u年份,图书[].\u价格,图书[].\u数量);
}
}

变量
book
是一个
Struct book
项的数组。如果要访问其中一个项目,需要提供该项目的索引,例如:

if (book[] < 0) {
    printf("The inventory is empty!");
    printf("===================================================");
}
else {
    printf("Inventory\n");
    printf("===================================================\n");
    printf("ISBN      Title               Year Price  Quantity\n");
    printf("---------+-------------------+----+-------+--------");
    printf("%-10.0d%-20s%-5d$%-8.2f%-8d", book[]._isbn, book[]._title, book[]._year, book[]._price, book[]._qty);
}
}
在您的情况下(检查库存),您可能希望使用传入的大小(假设这是正在使用的项目数而不是数组的大小-在这种情况下,这可能是应该的,因为库存列表器不需要知道实际数组本身的大小,只需要知道要显示的项目数):


if(size变量
book
Struct book
项的数组。如果要访问其中一个项,需要提供该项的索引,例如:

if (book[] < 0) {
    printf("The inventory is empty!");
    printf("===================================================");
}
else {
    printf("Inventory\n");
    printf("===================================================\n");
    printf("ISBN      Title               Year Price  Quantity\n");
    printf("---------+-------------------+----+-------+--------");
    printf("%-10.0d%-20s%-5d$%-8.2f%-8d", book[]._isbn, book[]._title, book[]._year, book[]._price, book[]._qty);
}
}
在您的情况下(检查库存),您可能希望使用传入的大小(假设这是正在使用的项目数而不是数组的大小-在这种情况下,这可能是应该的,因为库存列表器不需要知道实际数组本身的大小,只需要知道要显示的项目数):


if(size)必须指定book[some_index]值进行检查。只能在变量定义中使用空的
[]
(通常在函数参数列表中;它可以出现在一些其他相关上下文中)。在引用中,例如
if(book[booknumber].isbn<0)
,必须提供下标(我在这里使用了
booknumber
;我可能会在程序中使用较短的名称)。还请注意,您不应创建以下划线开头的名称。如果您知道不需要问这个问题,您可能可以引用确切的规则,但当您需要问这样的问题时,规则很简单:不要以下划线开头您创建的名称,尽管您看到了任何先例。大多数这样的名称都是r保留用于实现。您可能不会立即遇到问题,但它可能会回来伤害您。这是老师想要的,但是的,我现在明白了,谢谢您的帮助这行代码是什么:
(book[]<0)
要计算的?记住
book[]
是指针。指针是未签名的(在大多数情况下)因此表达式会说:“此指针是否小于0”可能不是您想要询问的问题。您必须指定book[some_index]值进行检查。您只能在变量定义中使用空的
[]
(通常在函数参数列表中;它可以出现在其他一些相关上下文中)。在诸如
if(book[booknumber].isbn<0)
之类的引用中,您必须提供一个下标(我在这里使用了
booknumber
;我可能会在程序中使用较短的名称)。还请注意,您不应创建以下划线开头的名称。如果您知道不需要问这个问题,您可能可以引用确切的规则,但当您需要问这样的问题时,规则很简单:不要以下划线开头您创建的名称,尽管您看到了任何先例。大多数这样的名称都是r保留用于实现。您可能不会立即遇到问题,但它可能会回来伤害您。这是老师想要的,但是的,我现在明白了,谢谢您的帮助这行代码是什么:
(book[]<0)
要计算的?记住
book[]
是指针。指针是未签名的(在大多数情况下)所以表达式会说:“这个指针是否小于0”可能不是您想要问的问题
if (size <= 0) // inventory is empty.
void displayInventory (const struct Book book[], const int size) {
    if (size <= 0) {
        puts ("The inventory is empty!");
        puts ("======================================================");
        return;
    }
    puts ("Inventory");
    puts ("=======================================================");
    puts ("ISBN       Title                Year  Price    Quantity");
    puts ("----------+--------------------+-----+--------+--------");
    for (int idx = 0; idx < size; idx++) {
        printf ("%-10.0d %-20s %-5d$ %-8.2f %-8d\n",
            book[idx]._isbn, book[idx]._title, book[idx]._year,
            book[idx]._price, book[idx]._qty);
    }
}