执行下面程序中的输出语句后,a的值是().

[复制链接]
查看11 | 回复4 | 2013-8-23 13:57:43 | 显示全部楼层 |阅读模式
答案:A分析:main(){int a;printf("%d\n",(a=4*6,a*2),a+5); //printf函数按照自定义格式打印输出,以%变量输出,这里只有一个变量%d,确有两个值,%号是按照顺序一一对应的,第二个值没有对应的%,所有此值忽略,即前面没有%号使用,后面加再多值,都可以忽略;回到问题,所有输出应该为(a=4*6,a*2)24*2=48,所以输出48.}...
回复

使用道具 举报

千问 | 2013-8-23 13:57:43 | 显示全部楼层
答案是24,a=4*6=24.这么简单。后面什么a*2呀,a+5呀,都不改变a的值...
回复

使用道具 举报

千问 | 2013-8-23 13:57:43 | 显示全部楼层
D 由于printf语句中的是逗号表达式(逗号表达式执行的是最后一个逗号之后的表达式),实际上输出的是a + 5,在之前已经执行了a= 4 * 6和 a * 2,此时a等于 48,再加5结果是53....
回复

使用道具 举报

千问 | 2013-8-23 13:57:43 | 显示全部楼层
24 选b逗号运算,但是后面的和a没啥关系(不是赋值运算)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行