Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Подскажите кто в Си силен, что означает конструкция
Отправлено
smartleds
21 апреля 2009, г. 01:11
if (!a) b=4;
[\pre]
Конкретно интересует как трактуется условие под IF , если "a" не равно 0?
Составить ответ
|
Вернуться на конференцию.
Ответы
if not true then b:=4; {если перевести на человеческий язык}
-
АПМ
(21.04.2009, 18:26:6
94.158.202.141
,
пустое
)
if (a==0) b=4;
-
Trashy
(21.04.2009, 10:28:18
192.168.2.80,213.167.60.22
,
пустое
)
В if любая переменная автоматически приводится к int. Если этот int равен 0 то идем мимо, иначе делаем что прописано. Так как не сказано кто такая а, то и вывод сделать низзя.
-
Codavr
(21.04.2009, 10:05:13
91.196.34.210
,
пустое
)
В if и float приводится к int? :)
-
Леонид Иванович
(21.04.2009, 10:23:15
87.252.227.57
,
пустое
)
Читайте стандарт.
-
Codavr
(21.04.2009, 10:50:56
91.196.34.210
,
пустое
)
Если результатом подинтовоговыражения является float то обрубается до инта.
-
Codavr
(21.04.2009, 10:50:29
91.196.34.210
,
пустое
)
подифного шорт подери :)))))
-
Codavr
(21.04.2009, 10:53:0
91.196.34.210
,
пустое
)
вернее не переменная а результат подинтового выражения.
-
Codavr
(21.04.2009, 10:06:11
91.196.34.210
,
пустое
)
Подифного выражения.
-
Леонид Иванович
(21.04.2009, 10:30:31
87.252.227.57
,
пустое
)
ну да, обсказался.
-
Codavr
(21.04.2009, 10:51:50
91.196.34.210
,
пустое
)
Ответ: Всё гораздо хуже 1 смысл" !а " и "а==0" в некоторых компиляторах и для разных процов выполняется по разному одни делают проверку на 0 по биту состояния аккумулятора те сразу ветвление другие делают команды проверки..регистра и затем ветвление..вариантов милион..и всё к томуже зависит от типа маш слова 8-16-32 прока..но выраж "!а" считается более правильным..большинство компиляторов настр под классич описание языка..
-
mww
(21.04.2009, 08:50:59
90.189.167.96
,
пустое
)
Это в каких-то очень древних компиляторах. Все современные оптимизаторы сво...{+}
-
запрещенные_символы
(21.04.2009, 09:14:57
80.233.201.144,91.135.22.160
, 194 байт)
Если утверждение, что "не А" ИСТИННО (тоисть сама А есть ЛОЖ, равна 0), то присвоить b=4;
-
VasilyS
(21.04.2009, 07:57:11
80.92.96.25
,
пустое
)
и даже \m/ (0==а) или !(0==а) чтоб с присвоением не попасть
-
NAUT
(21.04.2009, 04:13:4
213.85.253.138
,
пустое
)
Двойное отрицатение "если НЕ (переменная а НЕ равна нулю)". Или по-другому, сократив количество отрицаний, "если переменная а РАВНА нулю".
-
rezident
(21.04.2009, 01:47:22
77.43.218.100
,
пустое
)
либо у меня браузер только один ! кажет, либо ваш пост без поллитры не понять :)
-
ы
(21.04.2009, 01:51:37
217.118.66.66
,
пустое
)
А как по-вашему разыменование происходит? По-моему if (!a) то же самое, что if (!(a!=0)) или if (a==0)
-
rezident
(21.04.2009, 01:58:24
77.43.218.100
,
пустое
)
во блин, чел в одном ! разобраца не может, а вы ему такой выворот в нос, я даж не совсем вьехал :)
-
ы
(21.04.2009, 02:03:31
217.118.66.66
,
пустое
)
;) У мну коллега есть - жертва бейсика - дык периодически прикалываюсь над ним
-
Vit
(21.04.2009, 09:37:13
93.72.86.238
, 213 байт)
И накуа?
-
Altair
(21.04.2009, 18:51:25
95.189.148.112
,
пустое
)
Да как те сказать - если он пишет завсегда с 4-я goto на страницу, то как мне с ним поступать? Я по-доброму ещё.
-
Vit
(21.04.2009, 20:45:7
93.72.86.238
, 183 байт)
Тю йопть. Если GO TO тогда да. А то я че та уже напрягся, вдруг чего не так делаю? :-)
-
Altair
(22.04.2009, 05:42:12
95.189.148.112
,
пустое
)
я тоже думаю, что Си язык для извращенцев, эффективности никуя, а извращений докуя.
-
ффффф
(21.04.2009, 09:41:12
89.178.142.32
,
пустое
)
Си - это не язык. Это феня.
-
Крок
(21.04.2009, 12:32:42
62.118.59.14
,
пустое
)
Си - яркий пример неСИстемного подхода... Для языка программирования основное - быть легко и однозначно понятным для человека с одной стороны и компа с другой... А в Си за самое важное взяли скорость набивания проги... Одноврмено Си яркий пример что побеждает сильнейшее а не лучшее... А уж лучшим оно "становится" када победит, что подтверждается всей историей человечества, в том числе новейшей)))
-
basilmak
(21.04.2009, 12:25:53
82.142.173.231
,
пустое
)
И за что бабы так любят плохих танцоров?;)))
-
Vit
(21.04.2009, 12:48:20
10.0.0.3,83.170.240.226
,
пустое
)
Неправда ваша. Точки с запяточками, фигурные скобки и бессмысленные декларации, типа int i, не способствуют скорости набивания. Фортран в этом плане намного эффективней.:-)
-
-=ВН=-
(21.04.2009, 12:40:52
193.125.71.140
,
пустое
)
В Фортране ещё было ограничение на длину имени в 8 символов. А Си-шники умудряются уже в две строки имена давать.
-
Крок
(21.04.2009, 13:10:17
62.118.59.14
,
пустое
)
Вот ещё лучше: i-----;
-
Xan
(21.04.2009, 08:03:30
95.56.6.157
,
пустое
)
Вот тоже неплохой эквивалент той строки if(a == (1==0)) b=4;
-
VasilyS
(21.04.2009, 08:24:49
80.92.96.25
,
пустое
)
:)))))
-
Гудвин
(21.04.2009, 02:04:36
78.138.191.192
,
пустое
)
Я лично очень не люблю такие записи как раз из-за такой головоломной расшифорвки и предпочитаю ЯВНОЕ сравнение с нулем. if (a==0) b=4;
-
rezident
(21.04.2009, 01:48:32
77.43.218.100
,
пустое
)
Или if (a!=0)
-
rezident
(21.04.2009, 01:51:11
77.43.218.100
,
пустое
)
Дело привычки. Я часто пользую if(a), а вот if (!a) мне трудно читается.
-
Altair
(21.04.2009, 07:56:44
87.226.150.35
,
пустое
)
а вот if ( ! ready ) читается гораздо лучше
-
SSerge
(21.04.2009, 10:39:45
89.251.107.20
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 2 вдвое:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru