【发布时间】:2017-08-14 02:11:01
【问题描述】:
void displayInventory(const struct Book book[], const int size) {
Idk y book[] 在 Visual Studio 中遇到错误请帮助。
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);
}
}
【问题讨论】:
-
你必须指定 book[some_index] 值来检查..
-
您只能在变量定义中使用空的
[](通常在函数参数列表中;还有一些其他相关的上下文可以出现)。在if (book[booknumber].isbn < 0)之类的引用中,您必须提供下标(我在这里使用了booknumber;我可能会在程序中使用较短的名称)。 -
另请注意,您不应创建以下划线开头的名称。如果你足够了解不需要问这个问题,你也许可以引用确切的规则,但是当你需要问这样的问题时,规则很简单:不要以下划线开头 - 尽管你看到的任何先例。大多数这样的名称是为实现而保留的。您可能不会立即遇到问题,但它可能会在以后再次出现并伤害您。
-
这就是老师想要的,但是我现在明白了,谢谢你的帮助
-
您希望这行:
(book[] < 0)评估为什么?请记住,book[]是一个指针。指针是无符号的(在大多数情况下),所以表达式是说:'这个指针是否小于 0' 可能不是你想问的
标签: c function if-statement struct