![]() |
Учю C =)
Вобщем решил наконецто таки поучить немного C вот что из этого вышло, хочю услышать как вам это для первого раза и есть ли задатки на более что то крупнее =) . строго не судить. И сразу вопрос к знатокам можно ли писать по русски ? Несчитая каменты //....
PHP код:
|
Цитата:
Цитата:
ну и оформление кода жестоко кривое =) |
Ну во первых, тип main можно и не указывать, и так прекрасно линкуется и работает.
Во вторых, return может быть без параметров, и используется для принудительного завершения функции. Ну и в третьих, для того, чтобы текст отображался по-русски, используй функцию CharToOem(char*,char*); необходимо подключение хедера windows.h Пример: #include <windows.h> ... char str[]="Количество унций"; CharToOem(str,str); cout<<str; //или printf //-------------------------- можно также поковыряться со шрифтами, но это довольно геморойно, и работает не всегда корретно. 2nerezus таким ламерам, как ты, вообще не следует лезть в форумы по кодингу, пока язык не выучишь |
2Smith есть выражение - можно, но не нужно. нужно делать как надо, а не как можно.
|
2ZaCo
А нужно так, как этого требует данный код. int main() void main() int main(int argc, char *argv[]) как нужно? спорный вопрос. Пусть пишет, как хочет |
да пусть делает вообще че хочет) данный kод требует void main()
|
Повторю. Если компилятор принимает кривой код, это не значит, что код правильный.
Smith, более того, ты даже не знаешь отличия между с и с++ (советуешь ему cout<<str), а уже лезешь учить тех, кто в отличии от тебя хоть что-то знает. |
Цитата:
даже компиляторы твой бред не в состоянии проглотить: Цитата:
|
Что вы к main придрались? Хорошим стилем программирования считается указание типа возвращаемого значения для всех функций, КРОМЕ main (сами подумайте почему).
ЗЫ: кто предложит альтернативу выражения: Код:
cup1 = ounces1 / 8; |
cup1 = ounces1>>3;
|
адназначно + =))
|
Спасиб Smith терь буду знать как по русски писать :)
Кода компилировал ошибок небыло, и скрипт работал :) cc cups.c |
Цитата:
Вот: Цитата:
|
Ты что не знаешь что если не указывать тип возвращаемого значения, то это по умолчанию int?
nerezus - и к чему твоя цитата? И еще: Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
ну ну мля, спор ни о чем ЗЫ: Цитата:
|
Кстати, к чему картинка?
Усли компилер проглотил ошибку - это не значит, что ее нету ;) Сейчас вроде ни один компилер полноценно не соблюдает c99. Но это еще не значит, что можно писать неправильно. Цитата:
ну и к тому же я оказался прав(подтвердил цитатами из спецификации) =) А вообще я этот гребаный сишнег не знаю и знать не хочу |
Эп .. а мои цитаты не в счет? Мля наверное я слепой, но не вижу ни одной ошибки (компилер проглотил ошибку - ну ну). Дабы не превращать тему в клоунаду, я закрою топик и каждый отстанется при своем мнении.
|
Цитата:
Я понял: ты путаешь язык C и его конкретную реализацию в Visual Studio. С точки зрения языка это ошибка. С точки зрения Visual Studio - не ошибка. Но говорим то мы про язык. |
Цитата:
кстати, еще и это подсказали: Цитата:
|
По мойму return; можно не указывать тип main нельзя.
Стандарт поддерживает мало компиляторов,почитайте Криса Касперски он говорил который ближе к стандарту... |
Цитата:
Вобще в C можно не указывать твз а вот идеология С++ этого требует! и под майкрософтом 6 это будет ошибкой! |
Цитата:
|
Цитата:
Я всегда писал и буду писать main() без int до тех пор пока компилятор не будет выдавать предупреждение или ошибку потому что в многих компиляторах Цитата:
|
Цитата:
ответь на этот вопрос. |
Отвечу вопросом на вопрос.
Цитата:
|
хороший стиль, это когда код спокойно читается, а не выглядит продуктом обфускатора.
|
Короче попытаюсь рассудить пока до мордобоя не дошло=)
"считается хорошим стилем программирования" - где и кем считается? возможно в других местах и другими людьми считается "хорошим стилем программирование" как раз обратное? Цитата:
Цитата:
Ну все, хватит об этом, ато все вцепились в мэин и даже никто не заметил что: PHP код:
PHP код:
PHP код:
|
Емли уж такая херня со стилем пошла еще от себя могу добавить:
cup1 = !(ounces1 % 8) ? ouncess1>>3 : ounces1 >>3 + 1; А что касается main то если компилятор сьел отсутствие типа то это не ошибка всеравно в eax запишется integer и программа никак не упадет из-за этого. |
da_ff, дружочек, % - это деление а & - побитовый AND с маской. как ты думаешь что работает быстрее? И еще скобочки забыл, да: (ounces1 >>3) + 1; ?
|
Пох что работает быстрей, т.к. понятность намного важнее, чем скорость работы.
|
Для временно незрячих: написано СТИЛЬ, а не СКОРОСТЬ, а так согласен, однако глупая тема для спора.
|
Ну блин, какой такой стиль? В этом сезоне весна-лето принято програмить вот так-то и так-то. А тот кто програмит не так - немодный пацан? =) Програмить нужно практично. т.е. какой вообще смысл использовать % по модулю степени двойки, если можно записать оптимальнее? А тот для кого это недостаточно наглядно может идти доучиваться дальше. Если я один чегото там пишу то я пишу прежде все так как мне удобней чтобы легко разбираться самому в своем же коде. А если мы пишем в группе, или исходный текст планируется сделать общедоступным, - тогда можно воспользоваться венгерской нотацией, структурным, процедурным, логическим или объектно-ориентировочным подходом.
ЗЫ. Вы же сами себе противоречите: почему тогда >>3 а не /8 ? =) |
Ну епте яж уже согласился, так продуктивнее, под стилем я имел ввиду конструкцию замещающую if(){}else{}.
И еще порабы закончить тему, за ненадобностью. |
| Время: 04:53 |