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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Villiya
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 35
#1

if..else - C++

18.12.2011, 00:50. Просмотров 300. Ответов 4
Метки нет (Все метки)

уважаемые программисты, столкнулась с таким моментом в коде
Код
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 и она работает - о чудо! может мне кто-нибудь объяснить как это может быть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
18.12.2011, 00:53 #2
if(kk!=0) и if(kk) - равнозначны.
1
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
18.12.2011, 00:56 #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
1
Villiya
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 35
18.12.2011, 01:02  [ТС] #4
всем большое спасибо!)))
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
18.12.2011, 02:27 #5
Все просто.
Для if() справедливы любые конструкции, которые могут быть оценены и преобразованы в тип bool
Пример:
if(strlen(str))
if(*ptr)
if(2-3)
1
Yandex
Объявления
18.12.2011, 02:27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru