C语言程序设计求解

来源:百度知道 编辑:UC知道 时间:2024/06/30 18:05:35
viod main()
{int a=2,b=-1,c=2;
if(a<b)
if(b<0) c=0;
else c++;
printf("%d\n",c);
} 输出结果C为什么是2?

因为a>b,所以实际上啥都没做...所以c是初始值2

源代码等效:
viod main()
{
int a=2,b=-1,c=2;
if(a<b)
{
if(b<0) c=0;
else c++;
}
printf("%d\n",c);
}

2

if(a<b){
if(b<0) {c=0;}
else {c++;}
}

明白?

第一个if的条件就不满足 所以什么处理都没有做

相当于:
if(a<b)
{
if(b<0)
{c=0;}
else
{c++;}
}
因为a比b大,所以 c的值不变,还是2