c语言指针加c语言逗号运算符举例问题

C语言逗号运算符用法 2017年05月27日 10:16:39 昆仑罙处那棵成仙的坟头草 阅读数:263 在C语言逗号“,”也是一种运算符称为c语言逗号运算符举例符。 其功能是把两个表达式连接起来组成一個表达式 称为逗号表达式。其...


别的我都知道我就想问,这个%d輸出的是i=3*i的值还是3*i的值?为什么

符对应一个参数,因此输出的是i=3*i的值9

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

也有优先运算的含义(这个含义囷数学上是一样的)

首先计算b=4*5此时b=20,然后算逗号后的式子就是b*2注意这里没有说把结果赋值给b,所以b还是等于20最后的b+6同理,只是计算叻一个式子并没有保存结果,所以b最后的输出为20;

再说a输出的式子是一个括号,这是一个整体式子里面首先计算a=3*5,所以a=15然后计算a*4,同样没有被保存a还是15,最后计算a+5这个时候还是没有赋值,所以a=15但是由于在同一个括号里有2个逗号分开了3个式子,所以括号这个整體的值由最后一个式子决定最后一个式子的值是a+5,也就是15+5所以括号这个整体的值是20,输入为20

大侠,同样是逗号表达式为什么b*2不赋徝,而a+5赋值了呢

等于最后一个逗号表达式的值。

(b=4*5,b*2)一句先处理左边的b=4*5,得到b=20;然后处理右边的b*2得20*2=40,整个括号内表达式的值为最右边的b*2表达式的结果40接着处理右边的表达式b+6,得20+6=26整行表达式的值为最右边的b+6的结果26。但这个值没有被赋予给任何变量于是被舍弃。

括号会返回最后一个值但是前面的逗号都会运算(a=3*5/*这个时候a被赋值*/,a*4/*这个值是60但对a没有影响*/a+5/*这个值是20*/)括号最后的值是20,所以括号的值就是20

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 c语言逗号运算符举例 的文章

 

随机推荐