先看代码:我们本意是对i不同的值有不同的判断。
#include<stdio.h>
int main(void)
{
int i = ;
if(i == )
{
i++;
printf("%d\n",i);
}
if(i == )
{
i++;
printf("%d\n",i);
}
if(i == )
{
{
i++;
printf("%d\n",i);
}
}
return ;
}
#include<stdio.h>
int main(void)
{
int i = ;
if(i == )
{
i++;
printf("%d\n",i);
}
else if(i == )
{
i++;
printf("%d\n",i);
}
else if(i == )
{
{
i++;
printf("%d\n",i);
}
}
return ;
}
第一个代码运行结果
第二个代码
由结果可见,第二个代码是我们想要的,这是因为第一的代码中几个if语句是独立的,
可以进入任意多个if语句中,而第二个代码中if和else if是相互关联的,只有可能进入
其中一个,因此才会出现两种不同的情况。