C语言等于运算符返回什么?
今天有一位非CS专业的同学问了我一道题,题干是:
赋值表达式a=5的值是____
思考一小下,你觉得答案是什么?
我给出的答案是void,因为我的记忆中没有关于赋值表达式的返回值是什么的答案,于是我根据我的经验,
给出了这个我觉得最有可能的答案。但是我本人也对这个答案持怀疑态度
于是我便查阅了C reference

这才发现,原来是有返回值的,而且返回值是等号左边的变量的值。 于是我便敲了一个程序来验证,运行结果果然和C reference中的描述的一样
#include<iostream>
using namespace std;
int main()
{
int a=1;
printf("%d",a=5);
return 0;
}
运行结果:5
发布于:
编辑于: