C语言等于运算符返回什么?

今天有一位非CS专业的同学问了我一道题,题干是:

赋值表达式a=5的值是____

思考一小下,你觉得答案是什么?

我给出的答案是void,因为我的记忆中没有关于赋值表达式的返回值是什么的答案,于是我根据我的经验,
给出了这个我觉得最有可能的答案。但是我本人也对这个答案持怀疑态度

于是我便查阅了C reference

这才发现,原来是有返回值的,而且返回值是等号左边的变量的值
于是我便敲了一个程序来验证,运行结果果然和C reference中的描述的一样

1
2
3
4
5
6
7
8
#include<iostream>
using namespace std;
int main()
{
int a=1;
printf("%d",a=5);
return 0;
}

运行结果:5


C语言等于运算符返回什么?
2022/12/13/technology/program/what_eq_return/
作者
charlesix59
发布于
2022年12月13日
许可协议