【问题标题】:What is the execution logic of the expression in C? [duplicate]C中表达式的执行逻辑是什么? [复制]
【发布时间】:2017-08-21 04:33:03
【问题描述】:

假设我有几个 C 中的表达式。提供不同的输出。

int i =2,j;
j= i + (2,3,4,5);
printf("%d %d", i,j);
//Output= 2 7

 j= i + 2,3,4,5;
 printf("%d %d", i,j);
 //Output 2 4

在带有和不带有括号的表达式中如何执行,给出不同的输出。

【问题讨论】:

    标签: c expression execution


    【解决方案1】:

    Comma 运算符通过计算所有表达式并返回最后一个表达式来工作。

    j= i + (2,3,4,5);
    

    变成

    j= i + (5); //j=7
    

    在第二个表达式中赋值运算符优先于逗号运算符,所以

    j= i + 2,3,4,5;
    

    变成

    (j= i + 2),3,4,5; //j=4
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-18
      • 2015-03-26
      • 1970-01-01
      相关资源
      最近更新 更多