Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2011, 20:12   #1
DiEeR
 
Регистрация: 17.02.2011
Сообщений: 5
По умолчанию Вопрос по "Hello World"

Собственно вопрос заключается в этом алгоритме:

Код:
#include <iostream>
int main()
{
   cout << "Hello, world!" << endl;
   return 1;
}
На Википедии такой же пример записан вот так:

Код:
#include <iostream>
int main()
{
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
Зачем возвращать целое число 1 или 0? (return 1/0)
Да и что такое std в данном алгоритме?

Заранее спасибо.

Последний раз редактировалось ACE Valery; 19.02.2011 в 12:10.
DiEeR вне форума Ответить с цитированием
Старый 17.02.2011, 20:53   #2
Акоб
Форумчанин
 
Регистрация: 10.01.2011
Сообщений: 243
По умолчанию

void main() бывеет а int main() должрн что-нибудь возврощать
а на счет std лучше прочитай в интернете.
Акоб вне форума Ответить с цитированием
Старый 17.02.2011, 21:10   #3
DiEeR
 
Регистрация: 17.02.2011
Сообщений: 5
По умолчанию

А какова разница между return 1 и 0 ?
DiEeR вне форума Ответить с цитированием
Старый 17.02.2011, 21:13   #4
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
А какова разница между return 1 и 0 ?
1 возвращается в случае ошибки; 0 при нормальном завершении программы. Эти коды возврата важны вызывающим процессам, вы же можете пока не обращать на них внимания, но пишите лучше return 0;
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 17.02.2011, 21:34   #5
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
void main() бывеет а int main() должрн что-нибудь возврощать
2 ошибки:
1) void main() не бывает. Это запрещено стандартом. Обязательно должно быть int main().
2) в main() можно return не писать. Если программа достигает конца тела этой функции, она сама вернёт 0.

Возвращаемое main() значение используется для номера ошибки. 0 — значит никакой ошибки не возникло. Любое другое число означает, что что-то пошло не так. Если что-то пошло не так, но тебе не важно, что именно (т.е. ты не будешь вызывать твою программу из других программ и использовать коды ошибок), возвращай 1.
std:: значит, что объект берётся из пространства имён std. В этом пространстве имён лежат все стандартные объекты, классы и функции.

Первый пример неправильный, так как:
1) main возвращает 1, хотя всё правильно.
2) cin и endl лежат в std, так что компилироваться так не будет
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Obey-Kun; 17.02.2011 в 21:38.
Obey-Kun вне форума Ответить с цитированием
Старый 17.02.2011, 22:02   #6
Акоб
Форумчанин
 
Регистрация: 10.01.2011
Сообщений: 243
По умолчанию

Цитата:
2 ошибки:
1) void main() не бывает. Это запрещено стандартом. Обязательно должно быть int main().
2) в main() можно return не писать. Если программа достигает конца тела этой функции, она сама вернёт 0.
в пропустил слово "не".
Код:
#include<iostream.h>
int main()
{
	cout<<"holla";
}
если не написать return 0; то компилятор даст warning.
Акоб вне форума Ответить с цитированием
Старый 17.02.2011, 22:06   #7
genrix
просто
Форумчанин
 
Аватар для genrix
 
Регистрация: 17.02.2011
Сообщений: 405
По умолчанию

Не во всех компиляторах
Не стоит читать свои переписки двухлетней давности...
genrix вне форума Ответить с цитированием
Старый 17.02.2011, 22:52   #8
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

не во всех компиляторах
и таки по стандарту, что в C, что в C++, если программа достигает } в main, то она возвращает 0 сама.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 17.02.2011, 22:59   #9
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Акоб
Ваш компилятор - динозавр. Уже давно используется новый стандарт, и уже лепится новый стандарт.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 18.02.2011, 13:21   #10
Акоб
Форумчанин
 
Регистрация: 10.01.2011
Сообщений: 243
По умолчанию

Цитата:
Сообщение от russian-stalker Посмотреть сообщение
Акоб
Ваш компилятор - динозавр. Уже давно используется новый стандарт, и уже лепится новый стандарт.
Согласен.Visual C++ 6.0 маленько устарел.

Obey-Kun
если компилятор сам возвращает 0, что же не значит, что main ничего не возврощает.

Последний раз редактировалось Акоб; 18.02.2011 в 13:23.
Акоб вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
cout << "Hello World!\n"; Armen_c++ Общие вопросы C/C++ 26 30.09.2008 07:23