Форум программистов, компьютерный форум CyberForum.ru

if..else - C++

Восстановить пароль Регистрация
 
Villiya
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 35
18.12.2011, 00:50     if..else #1
уважаемые программисты, столкнулась с таким моментом в коде
Код
int kk;

for(kk=0; kk<2; kk++)
				{
					if(kk)
					{
						//что-то
					}
					else
					{
						//что-то
					}
но как такое возможно????
ведь форма записи
Код
if(boolean_expression)
{
   // statement(s) will execute if the boolean expression is true
}
else
{
  // statement(s) will execute if the boolean expression is false
}
именно boolean! а у меня в программе int и она работает - о чудо! может мне кто-нибудь объяснить как это может быть?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Лжец
 Аватар для Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
18.12.2011, 00:53     if..else #2
if(kk!=0) и if(kk) - равнозначны.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
18.12.2011, 00:56     if..else #3
в си никогда не было bool типа (в с99 добавлены только макросы)
C
1
2
3
4
5
6
7
8
if(expression)
{
   // statement(s) will execute if the expression is not equal to zero
}
else
{
  // statement(s) will execute if the expression is equal to zero
}
в плюсах ненулевые значения кастуются к true, нулевые - к false
Villiya
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 35
18.12.2011, 01:02  [ТС]     if..else #4
всем большое спасибо!)))
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
18.12.2011, 02:27     if..else #5
Все просто.
Для if() справедливы любые конструкции, которые могут быть оценены и преобразованы в тип bool
Пример:
if(strlen(str))
if(*ptr)
if(2-3)
Yandex
Объявления
18.12.2011, 02:27     if..else
Ответ Создать тему
Опции темы

Текущее время: 02:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru