📅  最后修改于: 2023-12-03 15:09:56.973000             🧑  作者: Mango
在 C 和 C++ 中,可以使用函数作为右值表达式,但不能作为左值表达式,因为函数不是一个可修改的位置。
一个右值表达式可以是函数调用、变量、字面量等,但左值表达式必须是一个可以被赋值的变量。
以下是在 C 和 C++ 中使用函数的示例:
int add(int a, int b) {
return a + b;
}
int main() {
int x = 1, y = 2;
int z = add(x, y); // 函数作为右值表达式
// int w = add(x, y) + 5; // 错误:函数不能作为左值表达式
return 0;
}
需要注意的是,我们可以将函数指针作为左值表达式,因为函数指针是一个指针变量,可以被赋值和修改:
int (*p)(int a, int b); // 定义一个函数指针
p = add; // 赋值函数指针
int z = (*p)(x, y); // 调用函数指针并获取返回值
所以在 C 和 C++ 中,虽然不能在表达式左侧直接使用函数,但可以使用函数指针来完成相同的操作。