hmx893673419 发表于 2014-9-21 00:00:00

c语言运算符

#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 = 6, x = 6

牡丹花下死做鬼 发表于 2014-9-21 00:19:58

你想问什么??
x=a+b = 6
y = x = 6
有什么问题么?

●初晨猛胾● 发表于 2014-9-21 16:54:40

本帖最后由 ●初晨猛胾● 于 2014-9-21 16:56 编辑

加个括号完美解决
#include<stdio.h>
void main()
{
      int a=2,b=4,c=6;

      int x,y;

      y=((x=a+b),(b+c));//加个括号完美解决

      printf("y=%d,x=%d\n",y,x);
}

hmx893673419 发表于 2014-9-22 18:57:32

开始学的时候总是以为应该是加个括号后的结果。现在发上来只是让人思考一下。为什么是这个结果。

无所畏惧的萌新 发表于 2018-5-27 21:26:02

●初晨猛胾● 发表于 2014-9-21 16:54
加个括号完美解决
#include
void main()


为什么会这样,麻烦大佬帮忙解释下{:5_107:}

伏地魔 发表于 2018-5-28 15:29:56

逗号运算符,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。
页: [1]
查看完整版本: c语言运算符