C中表达式的执行逻辑是啥? [复制]
Posted
技术标签:
【中文标题】C中表达式的执行逻辑是啥? [复制]【英文标题】: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
在带有和不带有括号的表达式中如何执行,给出不同的输出。
【问题讨论】:
【参考方案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
【讨论】:
以上是关于C中表达式的执行逻辑是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
C语言问题 赋值表达式返回值是啥?比如j=0这个表达式的返回值是啥?
c语言问题 if(!event_p){}这里的!是啥意思。如果写项目书,iutput改怎么写?