问题描述: int a=8,b=7,c=6,x=1;if(a>b)if(b>7)if(c>8)x=2;else x=3;求X的值 1个回答 分类:综合 2014-11-20 问题解答: 我来补答 第一,lz分错类了,这个应该分到程序设计里第二,这个是悬挂的else问题#include main(){\x09int a=8,b=7,c=6,x=1;\x09if(a>b)\x09\x09if(b>7)\x09\x09\x09if(c>8)x=2;\x09\x09\x09else x=3;\x09printf("%d\n",x);}else和最接近的未配对的if配对,所以,x还是原值没变,x值为1 再问: 能讲解的详细点吗? 再答: 原题等效于 #include main() { int a=8,b=7,c=6,x=1; if(a>b) { if(b>7) { if(c>8) x=2; else x=3; } } printf("%d\n",x); } 即else与if(c>8)配对 判断if(b>7)为假,所以之后的if不会执行,x值不变 展开全文阅读