wu还行吧 发表于 2021-1-5 22:46:06

求大神用文字解释一下结果

#include<stdio.h>
void main()
{int a;
printf("%d\n",(a=3*5,a*4,a+5));
}
结果输出”20“,为什么?

baige 发表于 2021-1-5 22:52:54

本帖最后由 baige 于 2021-1-5 22:54 编辑

(15,60,20), 逗号运算符,所以输出最后一个表达式的值也就是20,

昨非 发表于 2021-1-5 22:54:22

C语言中,逗号表达式优先级最低
从左往右运算,运算结果为最后一个表达式的值

a=3*5   -----15
a*4       -----没有赋值操作,a仍是15
a+5       -----这个式子得值即为结果:20

wu还行吧 发表于 2021-1-6 10:16:04

baige 发表于 2021-1-5 22:52
(15,60,20), 逗号运算符,所以输出最后一个表达式的值也就是20,

谢谢

wu还行吧 发表于 2021-1-6 10:16:37

昨非 发表于 2021-1-5 22:54
C语言中,逗号表达式优先级最低
从左往右运算,运算结果为最后一个表达式的值



谢谢
页: [1]
查看完整版本: 求大神用文字解释一下结果