【发布时间】:2016-02-22 17:04:23
【问题描述】:
#include <stdio.h>
#include <stdlib.h>
int f(int x) {
return x;
}
int main ( int argc,char * argv[]) {
int a=4;
f(a);
printf("PASSED!\n");
return 0;
}
当您调用f(a) 而不将其分配给任何东西时会发生什么?
【问题讨论】:
-
什么都没有,返回值被忽略。这是你想知道的吗?
-
同写
10;。 -
考虑返回值,是的,但是调用函数的副作用是会有的,比如修改一个静态变量的值。
-
写入
4;会导致编译器产生“没有效果的语句”警告。但是写作f(4)没有任何警告。怎么会? -
@AndrewHenle:考虑到
a = b是一个表达式,如果有这样的要求会很有趣。
标签: c function return-value