fishliang 发表于 2015-7-26 23:54:56

逗号运算符和逗号表达式

#include <stdio.h>

void main()
{
        int a=2,b=4,c=6,x,y;
        y=(x=a+b),(b+c);
        printf("y=%d\nx=%d\n",y,x);
}
y的值为什么会输出6而不是10?

牡丹花下死做鬼 发表于 2015-7-27 07:27:55

这个是甲鱼的口误而且这个实际编程不会用到的不用纠结

plme 发表于 2015-7-27 13:33:28

void main()
{
      int a=2,b=4,c=6,x,y;
      y=(x=a+b),(b+c);//先x = a + b; y = x;后面执行不b + c 但没有赋给谁,丢
      printf("y=%d\nx=%d\n",y,x);
}

fishliang 发表于 2015-7-27 18:04:23

牡丹花下死做鬼 发表于 2015-7-27 07:27
这个是甲鱼的口误而且这个实际编程不会用到的不用纠结

谢谢,我看一些书上也是说在逗号表达中要去取最后表达式的值

fishliang 发表于 2015-7-27 18:13:24

plme 发表于 2015-7-27 13:33
void main()
{
      int a=2,b=4,c=6,x,y;


谢谢
页: [1]
查看完整版本: 逗号运算符和逗号表达式