c语言 if语句

main()
   {
   int a=3,b=4,c=5,d=2;
   if(a>b)
   if(b>c)
   printf("%d",d++ +1);
   else
   printf("%d",++d +1);
   printf("%d\n",d);
   }
结果为什么是2

main()
{
  int a=3,b=4,c=5,d=2;
  if(a>b) //这条件可不成立啊
{
   if(b>c)
   printf("%d",d++ +1);
   else
   printf("%d",++d +1);
}
  printf("%d\n",d);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-29
开始时设置d 的初始值为2,第一个if条件不满足,没有进入if内
所以相当于直接执行最后一条语句,打印出d的值为2
第2个回答  2009-01-03
自己在机子上运行一下,
相似回答