逗号运算符的一个问题
比较以下两个程序:
(1)
main()
{int a;
a=3*5,a*4;
printf("%d",a);
} //运行结果是15,即取得是距离她最近的值
(2)
main()
{int a=2,b=3,c=4;
printf("%d,%d,%d",(a,b,c),b,c);
} //运行结果是4,3,4,即取得是最后面的值。
//为什么?
问题点数:20、回复次数:1Top
1 楼fatalerror99(iTePub's Nirvana)回复于 2005-06-25 21:40:26 得分 20
(1)用“,”分离的两个表达式分别是 a=3*5 和 a*4,即将 3*5=15 赋给a,然后又运算 a*4,但并没有赋给a,a 当然还是15。
(2)三个用“,”分离的表达式分别是 a,b 和 c,前两个都被最后的 c 取代,而 c 又是4,当然结果就是4。Top




