特别简单的问题 !麻烦问一下

StickJazz 2008-05-30 03:21:26
4、若int x;则执行下列程序段后输出是( )。
for(x=10;x>3;x--)
{if(x%3)x--;--x;--x;
printf("%d",x);
}
A)63 B)74 C)62 D)73


答案是什么啊?
并请告诉我思路因为我不是搞开发语言的。根本看不懂。谢谢各位达人了!
...全文
98 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangkaixin1226 2008-05-30
  • 打赏
  • 举报
回复
B
  • 打赏
  • 举报
回复
B,就是B!
GreenCircle 2008-05-30
  • 打赏
  • 举报
回复
嗯。顶
刘光伟 2008-05-30
  • 打赏
  • 举报
回复
B
楼上的解释很详细了
sukyin 2008-05-30
  • 打赏
  • 举报
回复
对。就是B
bysdy 2008-05-30
  • 打赏
  • 举报
回复
顶楼上所有的哈~~~
zhengq06 2008-05-30
  • 打赏
  • 举报
回复
答案:B

x-- 先参与程序计算再自减1

--x先自减1 再参与程序计算
gtj8521 2008-05-30
  • 打赏
  • 举报
回复
if(x%3) 表示若x%3的值为1则执行x--,此时X=X-1;
--x;
--x;
执行两次X=X-1
此时打印出本次循环的值,
再执行FOR中的x--,判断是否满足条件if(x%3),之后的工作同上,直到if(x%3)结果为0时结束
lijiawlm 2008-05-30
  • 打赏
  • 举报
回复
b
linwubin1982 2008-05-30
  • 打赏
  • 举报
回复
b
langhua0001 2008-05-30
  • 打赏
  • 举报
回复

B) 7 4

for(x=10;x>3;x--)      //1
{
if(x%3) x--;   //2 
--x;       //3
--x;       //4
printf("%d ",x);
}
开始 x==10 if(x%3)为真 执行第二个 x-- 然后执行下面两个x--  此时x==7 输出7
然后执行第一个x-- x变为6 判断 x>3? 成立  进入循环 if(x%3)为假 不执行2 而直接执行 3  4 此时x==4 输出4
接着执行第一个x--  x变为3  判断 x>3? 不成立 退出循环 

xkyx_cn 2008-05-30
  • 打赏
  • 举报
回复
初始x = 10
进入循环:
if(x%3)x--;
x%3 = 1 if条件成立 , x--执行 x=9
后面2个语句--x;--x;执行后 x = 7
后面printf("%d",x); 打印7
循环末尾执行x-- 此时x = 6
判断循环条件 x > 3显然成立
再次进入循环:
x%3 = 0 if条件不成立, x--不执行
后面2个语句--x;--x;执行后 x = 4
后面printf("%d",x); 打印4
循环末尾执行x-- 此时x = 3
判断循环条件 x > 3 不成立,退出循环

xkyx_cn 2008-05-30
  • 打赏
  • 举报
回复
B

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧