C语言问题 赋值表达式返回值是啥?比如j=0这个表达式的返回值是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言问题 赋值表达式返回值是啥?比如j=0这个表达式的返回值是啥?相关的知识,希望对你有一定的参考价值。

楼主错了吧,赋值表达式返回值?那个不叫返回值,就叫表达式的值,你看j = 0这是一个表达式,这个表达式执行完后,会得到一个值,就是表达式的值,j = 0这个表达式的值是0,我比如a = 1 + (j = 0),a的值就是1 + 0等于1,楼主如果有疑问请追问,没有望采纳,谢谢追问

您看看这道题 if的判断部分是个j=0的语句 您说是真还是假

按理说j是0 返回值是0 应该执行else部分吧 这题为啥是对的

追答

j = 0是假,无论他执行这句是否成功,要看最终值,即表达式的值,这里是0,当然执行else部分啦,下面是测试结果,供参考

参考技术A 1追答

若成功赋值刚返回1

不成功则0

追问

比如j=5 如果成功赋值 返回值也是1?

追答

sorry记错了,实际返回j值

赋值运算返回左值
即A=(表达式),返回值为A

追问

那j=0的返回值是0?

追答

对的

int main()


int j=0;
if(j=0)
putchar('7');

这个程序将不输出

追问

您看看这道题 if的判断部分是个j=0的语句 您说是真还是假

按理说j是0 返回值是0 应该执行else部分吧 这题为啥是对的

追答

int main()

int j = 0, i = 10;
if (j = 0)
i++;
else
i--;
printf("%d", i);

答案为9

你可上机测试

本回答被提问者采纳

C语言中 Trace()函数 是啥意思? Trace(1+1)最后的值是多少呢?

f()是一个函数,他有两个参数,分别赋给i和i+1,然后把函数的返回值赋给p
在C语言中:一个非关键字后面加小括号是函数,加中括号是数组,加大括号是结构体,或者联合,或者枚举函数的返回值一般是唯一的(特殊情况你不用考虑)……一次调用函数只有一个返回值
比如我可以,f(int a,int b)return a+b; 这样,函数就返回两个参数的和,不是每个参数都各自执行一遍函数,而是他们一起执行一遍函数,然后得到一个结果
参考技术A 这个trace是程序调试用的,就跟printf一样, printf是将输出打印到dos窗口, TRACE是将相关的内容输出到指定的窗口,vc有个output窗口,其他的也有相应的输出窗口
执行Trace(1+1)会在输出窗口显示结果2本回答被提问者采纳

以上是关于C语言问题 赋值表达式返回值是啥?比如j=0这个表达式的返回值是啥?的主要内容,如果未能解决你的问题,请参考以下文章

c语言中赋值表达式的值是啥,就比如关系表达式的值是一个逻辑值

JAVA中,返回值是啥意思?

C语言中表达式的返回值是啥,返回到哪里?跟return有关?

这个有大于小于号的c语言计算,怎么算。a b的值是啥?

C语言中if(a<>b)是啥意思

c语言 CRC的检验方式 我想问一下。这下面的C语言返回的CRC的值是啥。他有他的公式是怎么样的