|
Это работает путем каскадирования нескольких сравнений. Как только один из них действительно дает результат, или следующее заявление блок запускается, и никаких дальнейших сопоставлений производятся. В следующем примере мы присуждении классы в зависимости от экзамена результата.
if (result <=100 && result >= 75)
printf("Passed: Grade A\n");
else if (result >= 60)
printf("Passed: Grade B\n");
else if (result >= 45)
printf("Passed: Grade C\n");
else
printf("Failed\n");
В данном примере все испытания сравнений открывается одной переменной результата. В остальных случаях, каждое испытание может включать разные переменные или комбинации тестов. Аналогичная картина может быть использован с большей или меньше другого, если в, и еще окончательное одиночку могут быть опущены.
Это дело программиста для разработки правильной структуры для каждой проблемы программирования. Чтобы лучше понять, если использовать другое Рассмотрим пример
#include <stdio.h>
int main()
{
int num;
for(num = 0 ; num < 10 ; num = num + 1)
{
if (num == 2)
printf("num is now equal to %d\n", num);
if (num < 5)
printf("num is now %d, which is less than 5\n",
num);
else
printf("num is now %d, which is greater than 4\n",
num);
} /* end of for loop */
return 0;
}
Результат выполнения программы
num is now 0, which is less than 5
num is now 1, which is less than 5
num is now equal to 2
num is now 2, which is less than 5
num is now 3, which is less than 5
num is now 4, which is less than 5
num is now 5, which is greater than 4
num is now 6, which is greater than 4
num is now 7, which is greater than 4
num is now 8, which is greater than 4
num is now 9, which is greater than 4 |
|
|