最终库函数将返回一个值。 谁捕获了此返回值?
例如,请考虑以下代码。
#include<stdio.h>
main()
{
printf("Waiting for a character to be pressed from the keyboard to exit.\n");
getch();
return 0;
}
getch()
返回一个值。谁捕获了这个价值?
给我一般意义上的答案,而不是上述程序的具体内容。
答案 0 :(得分:5)
可以丢弃函数的返回值。
在您提供的示例中,您可能不会注意到实际上printf
也有返回值。
在这种情况下,函数调用被评估为表达式语句,只发生副作用,丢弃返回值。表达式语句的另一个例子是:
21 + 21;
评估并丢弃表达式21 + 21
。 C允许这种语法,尽管编译器可能会对其进行优化。
答案 1 :(得分:0)
答案是:没有人抓住价值。简单地忽略/丢弃该值。
在您的具体示例中,printf
也会返回一个值。它被丢弃了。然后getch
返回一个值。它也被丢弃了。实际上,C语言中的每个表达式语句都涉及丢弃返回的值(除非它是void
表达式)。