爱问知识人 爱问教育 医院库

C语言编程问题

首页

C语言编程问题

main()
{
  int x=1,i;
  for(i=0;i<100;i++)
  if(++x%2==0)
  if(++x%3==0)
  if(++x%7==0)
  printf("%5d",x);
}
结果是28 70
main()
{
  int x=1,i;
  for(i=0;i<100;i++)
  if(x++%2==0)
  if(x++%3==0)
  if(x++%7==0)
  printf("%5d",x);
}
结果是29 71
怎样解释多个if连在一起的问题,这两个的结果怎么会是这样呢???
怎样解释这两道题 ??
谢谢
  

提交回答
好评回答
  • 2007-06-28 19:38:13
    ++x%2:是先x=x+1,然后再x%2
    x++%2:是先x%2,然后再x=x+1
    程序中三个if是嵌套关系,即为三重if嵌套~
    第一个程序是25+1=26,26能被2整除;然后计算26+1=27,27能被3整除;然后计算27+1=28,28能被7整除;所以输出28~
    第二个程序是26能被2整除,然后计算26+1=27;27能被3整除,然后计算27+1=28;28能被7整除,然后计算28+1=29;所以输出29~
    祝你好运~
    两个应该都是:不论是否成立,都要运算x=x+1的~,你也可以自己编程实验一下~

    牛***

    2007-06-28 19:38:13

类似问题

换一换
  • 软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):