Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

04.07.2006, 17:40
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
По мойму return; можно не указывать тип main нельзя.
Стандарт поддерживает мало компиляторов,почитайте Криса Касперски он говорил который ближе к стандарту...
|
|
|

07.07.2006, 00:22
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
Сообщение от qBiN
По мойму return; можно не указывать тип main нельзя.
Ниче не понял из того что ты сказал)))
Вобще в C можно не указывать твз а вот идеология С++ этого требует! и под майкрософтом 6 это будет ошибкой!
|
|
|

07.07.2006, 11:07
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
Вобще в C можно не указывать
нельзя. Выдержка из стандартов на предыдущей странице.
|
|
|

07.07.2006, 11:25
|
|
Постоянный
Регистрация: 19.09.2005
Сообщений: 408
Провел на форуме: 3730496
Репутация:
519
|
|
Сообщение от nerezus
нельзя. Выдержка из стандартов на предыдущей странице.
Самое интересное то что я не упоминал о стандартах, а о хорошем стиле программирования.
Я всегда писал и буду писать main() без int до тех пор пока компилятор не будет выдавать предупреждение или ошибку потому что в многих компиляторах
если не указывать тип возвращаемого значения, то это по умолчанию int
|
|
|

07.07.2006, 12:32
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
а о хорошем стиле программирования.
разве нарушения синтаксиса языка может являться хорошим стилем?
ответь на этот вопрос.
|
|
|

07.07.2006, 12:47
|
|
Постоянный
Регистрация: 19.09.2005
Сообщений: 408
Провел на форуме: 3730496
Репутация:
519
|
|
Отвечу вопросом на вопрос.
cейчас вроде ни один компилер полноценно не соблюдает c99
Разве эти компиляторы можно считать С компиляторами?
|
|
|

07.07.2006, 13:35
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
хороший стиль, это когда код спокойно читается, а не выглядит продуктом обфускатора.
__________________
 
snow white world wide
|
|
|

07.07.2006, 14:27
|
|
Участник форума
Регистрация: 31.08.2003
Сообщений: 177
Провел на форуме: 249275
Репутация:
22
|
|
Короче попытаюсь рассудить пока до мордобоя не дошло=)
"считается хорошим стилем программирования" - где и кем считается? возможно в других местах и другими людьми считается "хорошим стилем программирование" как раз обратное?
Сообщение от nerezus
ты путаешь язык C и его конкретную реализацию в Visual Studio.
С точки зрения языка это ошибка. С точки зрения Visual Studio - не ошибка.
Это не ошибка также с точки зрения борланд Си, ватком Си да и куче других, так что ни микрософт ни висуал студия тут никаким боком.
если не указывать тип возвращаемого значения, то это по умолчанию int
а вот тут вы все неправы. тип возвращаемого значения зависит от интерпретации: это может быть char, short, int и даже long (знаковые или без - как хотите) если нужно. применительно же к консольным приложениям и функции main() в частности - это всего-навсего char. А в общем смысле - все что на выходе функции находится в регистре eax/ax/al (иногда компиляторы используют пару dx:ax/edx:eax если нужно вернуть б`ольшее значение) - и есть возвращаемое значение функции.
Ну все, хватит об этом, ато все вцепились в мэин и даже никто не заметил что:
PHP код:
printf("\n Number of ounces ", ounces);
а также что
PHP код:
int o_to_c (int ounces1)
{
int cup1;
if (ounces1)
{
if (!(ounces1 % 8))
cup1 = ounces1 / 8;
else
cup1 = ounces1 / 8 + 1;
}
else
cup1 = 0;
return (cup1);
}
можно записать попроще:
PHP код:
int o_to_c (int ounces1){
int cup1=ounces1>>3;
if (ounces1&7) cup1++;
return cup1;
}
|
|
|

11.07.2006, 12:30
|
|
Участник форума
Регистрация: 11.07.2006
Сообщений: 125
Провел на форуме: 413927
Репутация:
71
|
|
Емли уж такая херня со стилем пошла еще от себя могу добавить:
cup1 = !(ounces1 % 8) ? ouncess1>>3 : ounces1 >>3 + 1;
А что касается main то если компилятор сьел отсутствие типа то это не ошибка всеравно в eax запишется integer и программа никак не упадет из-за этого.
|
|
|

12.07.2006, 19:54
|
|
Участник форума
Регистрация: 31.08.2003
Сообщений: 177
Провел на форуме: 249275
Репутация:
22
|
|
da_ff, дружочек, % - это деление а & - побитовый AND с маской. как ты думаешь что работает быстрее? И еще скобочки забыл, да: (ounces1 >>3) + 1; ?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|