firewater 发表于 2014-8-1 09:30:27

小甲鱼在零基础学C中,好像有一个内容讲错了

本帖最后由 firewater 于 2014-8-1 09:32 编辑

第六课讲逗号运算符时,有一个例子:
#include "stdio.h"
void main ()
{
      int a=2,b=4,c=6,x,y;
      y=(x=a+b),(b+c);
      printf("y=%d,x=%d\n",y,x);
}
小甲鱼说y的值等于(b+c),但实际上y的值就等于(x=a+b)的值,如果要等于(b+c)的话,应该写成y=((x=a+b),(b+c))
是不是这样?????

这个例子是17分钟左右讲的

超级无敌侠客3 发表于 2014-8-1 10:35:19

额,没错,是少了一个括号,当初我按照视频上面打代码的时候,老是出错,后来上网查了一下,才知道要加一个括号。

xubin2004198 发表于 2014-8-1 11:09:05

{:1_1:}对的,因为,号的优先级是最低的,所以先赋值了
页: [1]
查看完整版本: 小甲鱼在零基础学C中,好像有一个内容讲错了