int main(void)
{
int a=2,b=-1,c=2;
if (a if (b<0) //第2个if
c = 0;
else
c++;
printf("%d\n",c); //输出结果为: 2
return 0;
}
/**分析如下:
你的理解是不对的,你可能还没有弄明白else与if的匹配规则:else总是与其最近的没有被else匹配的if相匹配,有点绕,以你的程序为例分析:
else的上面有两个if,与其最近的是第2个if,这个if还没有else与其匹配,那么else就与该if匹配,如果我们把上面的语句修改如下:
if (a if (b<0) //第2个if
c = 0;
else c=1; //这里增加了一个else语句
else
c++;
如果改成了上面这样的话,由于第2个if已经有else与其匹配了,那里else c++;这条语句就是与第1个if匹配了。
*/
希望对你理解if...else语句有所帮助吧。
#includeintmax(inta,intb,intc);intmin(inta,intb,intc);voidmain(){intx,y,z;printf("请输入三个数:");scanf("%d%d%d",&x,&y,&z);printf("三个数选出最大数是%d\n",max(x,y,z));printf("三个数选出最小数是%d\n",min(x,y,z
只要遇到一个return就跳出整个函数了。