Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Базовые вопросы. 
:(
    Опции темы
Opik
Дата 31.8.2005, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



Я конечно понимаю, но я только первые 5 минут учу C++ ^)) так тчо камнями не кидайте..
почему после Hello world идет <null> ?
второй вопрос как соединять строки например: printf("bla bla bla"+var+"bla bla bla"); или же просто printf("dawdaw %s dadw ", var); ?
и третий вопрос - double func(int x, int n); т.е объявление функции, или что это такое? почему это обязательно делать?
Код

#include <stdio.h>

double func(int x, int n);

int main()
{
     double c = func(1, 2);
     printf("Hello ! %s\n", c);
     return 0;
}

double func(int a, int b)
{
   return a + b;
}


Это сообщение отредактировал(а) Opik - 31.8.2005, 18:14
PM MAIL Skype   Вверх
Mal Hack
Дата 31.8.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 2
Всего: 261



Цитата(Opik @ 31.8.2005, 19:14)
почему после Hello world идет <null> ?

Выводишь число, как строку, это тебе не PHP. Попробуй %d

Цитата(Opik @ 31.8.2005, 19:14)
второй вопрос как соединять строки например: printf("bla bla bla"+var+"bla bla bla"); или же просто printf("dawdaw %s dadw ", var);

printf( "andkjh %s sjhfsk %f" , var1 , var2 );


Цитата(Opik @ 31.8.2005, 19:14)
и третий вопрос - double func(int x, int n); т.е объявление функции, или что это такое? почему это обязательно делать?

Прототип функции. Этим ты показываешь что функция есть.

Это сообщение отредактировал(а) Mal Hack - 31.8.2005, 18:30
PM ICQ   Вверх
Opik
Дата 31.8.2005, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



Цитата
Прототип функции. Этим ты показываешь что функция есть.

дык, а сама функция толком ничего не значит?
PM MAIL Skype   Вверх
maxim1000
Дата 31.8.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



Цитата
почему после Hello world идет <null>

чтобы знать, где заканчивается строка...


--------------------
qqq
PM WWW   Вверх
Mal Hack
Дата 31.8.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 2
Всего: 261



Цитата(Opik @ 31.8.2005, 19:31)
дык, а сама функция толком ничего не значит?

Тело функции это код, а прототипом ты показываешь не только что у тебЯ она есть, но и какие типы данных у значений, которые ту будешь в функцию передавать и какое значение (какого типа точнее) будет возвращать функция.
PM ICQ   Вверх
maxim1000
Дата 31.8.2005, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



Цитата
дык, а сама функция толком ничего не значит?

а сама функция может быть определена в другом файле или где-нибудь внизу в этом файле, куда компилятор еще не дошел, вот он и не знает, есть ли такая функция или это - просто опечатка


--------------------
qqq
PM WWW   Вверх
Opik
Дата 31.8.2005, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



Код

double func(int x, int n);

double func(int a, int b)
{
   return a + b;
}

получается я 2 раза объявляю типы, может быть достаточно 1 раз? при объявлении функции?
PM MAIL Skype   Вверх
Дрон
Дата 31.8.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Цитата(Opik @ 31.8.2005, 19:40)
получается я 2 раза объявляю типы, может быть достаточно 1 раз? при объявлении функции?

Насчёт Си не знаю, но в С++ точно нет.
Дело в том, что в С++ могут быть функции с одним и тем же именем, но различающиеся типом параметров.


--------------------
Да. Именно так.
PM   Вверх
Mayk
Дата 31.8.2005, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата

Насчёт Си не знаю, но в С++ точно нет.
Дело в том, что в С++ могут быть функции с одним и тем же именем, но различающиеся типом параметров.

В си всё обстоит гораздо страшнее. Компилятор думает(шибко умный), что если ф-ция не определена, то она
1) существует (пусть так)
2) принимает те значения, которые ей передают(эт прально),
3)возвращает int(??? с чего???). Что может не соответствовать действительности.
На форуме уже как-то поднимался вопрос, почему, допустим
Код

/*инклюдов нет*/
int main()
{
    printf("%f\n",floor(2.4));
    return 0;
}

Выдает 0.00000. А выдает потому, что компилятор считает в данном случае, что возвращается int, а не double.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.