Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
9 / 9 / 6
Регистрация: 04.12.2011
Сообщений: 137
1

Нужен сайт с описанием функций

18.09.2013, 21:02. Показов 832. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Никак не могу найти нормальный сайт с описанием функций-аргументы функции, выводимые значения функции и кратко что делает.
И второй вопрос из Керниган Ритчи. Предпоследняя строчка. Что за передаваемые данные
Нужен сайт с описанием функций
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2013, 21:02
Ответы с готовыми решениями:

Русскоязычкая книга/сайт с описанием встроенных в оракл функций
Вопрос собственно говоря в теме. На английском не во всем получается разобраться.

Нужен исходник проги с описанием
Ребят, нужен исходник программы, желательно что то связанное с клавиатурой. Ну а вообще любой....

Вызвать на выполнение созданные в функции main проекта, подключив header файл с описанием созданных функций
Помогите решить вот такую задачку, особые проблемы у меня возникают в работе с heder файлом....

Тип параметра или возвращаемого значения не может быть описанием записи или описанием массива с грани
помогите исправить ошибки program DijkstraAlgorithm; uses crt; const V=6; inf=100000; type...

14
29 / 29 / 18
Регистрация: 12.06.2013
Сообщений: 65
19.09.2013, 01:51 2
http://www.cplusplus.com/reference/clibrary/
В книге, как я понял, объясняется, что если ты задал функцию, как функцию которая вернет какое-то значение, например int myFunc(int a, int b), но в самой функции не вернешь ничего return'ом, то если это не зарубает компилятор, то в тут в переменной А будет "мусор".
C++
1
2
3
4
5
6
int f(int a, int b) {
    int c = a - b;
    // Нету return c например
}
....
int A = f(a, b) // в А мусор
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.09.2013, 08:24 3
По соглашению, функции используют регистр AX (EAX на x86, итд) для возврата значения (результата, вычисленного функцией).

Если функция объявлена как процедура (т.е. функция, не возвращаюшая значения), то, после возврата из функции, этот регистр НЕ проверяется (считается, что функция вернула "ничего" - void).

Если же функция объявлена, как возвращающая значение, содержимое этого регистра будет использовано в соответствии с объявлением (прототипом) функции.

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

Можно, например, представить ситуацию, когда два агента: резидент (вызываюшая функция) и шпион (вызываемая функция) используют дупло старого дерева (регистр AX) для передачи секретного сообшения.

Теперь, если шпиона по дороге к дуплу перехватят доблестные контрразведчики, то резидент, запустив руку в дупло, не найдет там никакой шифровки и вообще ничего, кроме мышиного помета.
0
9 / 9 / 6
Регистрация: 04.12.2011
Сообщений: 137
19.09.2013, 11:22  [ТС] 4
GoldenChild,
Cplusplus.com не подходит. Там есть список подключаемых библиотек и в них функции а поиск работает не только по библиотекам но и по форуму и к примеру на getch я получаю только темы с форума "а правильно ли я использовал getch "и т.д. Нужен поиск по функциям
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
19.09.2013, 11:39 5
Цитата Сообщение от koperfild Посмотреть сообщение
к примеру на getch я получаю только темы с форума
Не потому ли, что getch - не стандартная функция? Ищите на MSDN, там все эти мелкомягкие велосипеды "от и до" расписаны.

Не по теме:

Есть ещё getch() в библиотеке curses...

0
1 / 1 / 0
Регистрация: 24.04.2011
Сообщений: 28
19.09.2013, 12:50 6
koperfild, http://ru.cppreference.com/w/c
0
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
19.09.2013, 13:13 7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
int doit1(int x)
  {
  if(x>0)
    return 3;
  // если мы тут, то будет возвращён мусор
  // при условии что не произошла ошибка компиляции, естественно ;)
  // такая ситуация может означать ошибку программиста
  }
 
void doit2(int x) // не ожидается что функция что-то вернёт
  {
  } // выход из функции по закрывающей скобке
  
void doit3(int x) // не ожидается что функция что-то вернёт
  {
  return; // после return не обязано стоять выражение
  }
  
 
void doit4(int x) // не ожидается что функция что-то вернёт
  {
  if(x>0)
    return;
  // some code
  } // не обязательно использовать return везде
 
void doit5(int x)
  {
  if(x>0)
    return doit3(); // так тоже можно: doit3 возвращает void
                    // лично мне такой код не нравится и сам не использую
  // some code
  }
Добавлено через 4 минуты
Цитата Сообщение от easybudda Посмотреть сообщение
Не потому ли, что getch - не стандартная функция? Ищите на MSDN, там все эти мелкомягкие велосипеды "от и до" расписаны.
getch - это не майкросовтовская штука.
Заголовочный фай <conio.h>. Предназначена для небуферизированного ввода с клавиатуры. В dos использовала соответстующие прерывания.

Сейчас ко всему conio.h надо относиться с осторожностью, поскольку изначально эти функции были тесно связаны с dos и использовали механизм прерываний. Именно с getch в VS2005 я наткнулся на то, что клавиши надо было нажимать не в тех местах где я хотел, а вообще непонятно когда...
0
9 / 9 / 6
Регистрация: 04.12.2011
Сообщений: 137
19.09.2013, 13:54  [ТС] 8
А doit1 можно написать без return или c return; тогда как я понял возвращаемое значение функции будет мусор типа int, double ,...) определяемой функции
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
19.09.2013, 13:56 9
Цитата Сообщение от Qwertiy Посмотреть сообщение
getch - это не майкросовтовская штука.
Заголовочный фай <conio.h>
Да хуже того! И никакого conio.h в стандарте тоже нет - это происки мелкомягких. То, что они это чудо ещё со времён dos таскают, не делают его стандартной библиотекой С.
0
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
19.09.2013, 14:05 10
Цитата Сообщение от easybudda Посмотреть сообщение
Да хуже того! И никакого conio.h в стандарте тоже нет - это происки мелкомягких.
Я ничего не говорил о стандарте.
Conio.h было ещё в Borland CPP. Это же не майкрософт?

Добавлено через 1 минуту
Цитата Сообщение от koperfild Посмотреть сообщение
А doit1 можно написать без return или c return;
Мне кажется, ни один современный компилятор не станет компилировать return; если функция возвращает не void. Хотя не проверял. Если всё-таки скомпилируется, то да - функция вернёт мусор.

Добавлено через 54 секунды
Цитата Сообщение от easybudda Посмотреть сообщение
происки мелкомягких
Происки мелкомягких - это scanf_s и подобные. Вот они - точно их.
1
easybudda
19.09.2013, 14:48
  #11

Не по теме:

Цитата Сообщение от Qwertiy Посмотреть сообщение
Conio.h было ещё в Borland CPP. Это же не майкрософт?
Borland? Не, но и компилятор-то они тоже не под SunOS выпускали. Там и dos.h присутствовал...
Цитата Сообщение от Qwertiy Посмотреть сообщение
Происки мелкомягких - это scanf_s и подобные. Вот они - точно их.
Ну это практически know how от M$ :)

0
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
19.09.2013, 15:35 12
Цитата Сообщение от easybudda Посмотреть сообщение
Borland? Не, но и компилятор-то они тоже не под SunOS выпускали. Там и dos.h присутствовал...
Ну так на тот момент эти функции (conio = CONsole Input Output) были весьма уместны. И даже в ещё более ранней книжке по Си упоминалось, что некоторые компиляторы поставляют нестандартный заголовочный файл conio.h.
Это сейчас с ними какие-то пробемы возникают, т. к. мы не в досе работаем. Кстати, а у них есть современные аналоги?
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.09.2013, 18:06 13
Цитата Сообщение от Qwertiy Посмотреть сообщение
современные аналоги
Console Functions
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
19.09.2013, 18:13 14
Цитата Сообщение от Qwertiy Посмотреть сообщение
Кстати, а у них есть современные аналоги?
Да чёрт его знает. Но если в этой куче как следует покапаться, то там чего только не найдётся...
0
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
19.09.2013, 18:40 15
Цитата Сообщение от easybudda Посмотреть сообщение
Да чёрт его знает.
Судя по .NET'овской реализации, в аналогичном виде нет
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
    /// <summary>
    /// Obtains the next character or function key pressed by the user. The pressed key is optionally displayed in the console window.
    /// </summary>
    /// 
    /// <returns>
    /// A <see cref="T:System.ConsoleKeyInfo"/> object that describes the <see cref="T:System.ConsoleKey"/> constant and Unicode character, if any, that correspond to the pressed console key. The <see cref="T:System.ConsoleKeyInfo"/> object also describes, in a bitwise combination of <see cref="T:System.ConsoleModifiers"/> values, whether one or more SHIFT, ALT, or CTRL modifier keys was pressed simultaneously with the console key.
    /// </returns>
    /// <param name="intercept">Determines whether to display the pressed key in the console window. true to not display the pressed key; otherwise, false. </param><exception cref="T:System.InvalidOperationException">The <see cref="P:System.Console.In"/> property is redirected from some stream other than the console.</exception><filterpriority>1</filterpriority>
    [SecuritySafeCritical]
    [HostProtection(SecurityAction.LinkDemand, UI = true)]
    public static ConsoleKeyInfo ReadKey(bool intercept)
    {
      int numEventsRead = -1;
      Win32Native.InputRecord buffer;
      lock (Console.ReadKeySyncObject)
      {
        if ((int) Console._cachedInputRecord.eventType == 1)
        {
          buffer = Console._cachedInputRecord;
          if ((int) Console._cachedInputRecord.keyEvent.repeatCount == 0)
            Console._cachedInputRecord.eventType = (short) -1;
          else
            --Console._cachedInputRecord.keyEvent.repeatCount;
        }
        else
        {
          while (Win32Native.ReadConsoleInput(Console.ConsoleInputHandle, out buffer, 1, out numEventsRead) && numEventsRead != 0)
          {
            short local_3 = buffer.keyEvent.virtualKeyCode;
            if ((Console.IsKeyDownEvent(buffer) || (int) local_3 == 18) && ((int) buffer.keyEvent.uChar != 0 || !Console.IsModKey(buffer)))
            {
              ConsoleKey local_5 = (ConsoleKey) local_3;
              if (!Console.IsAltKeyDown(buffer) || (local_5 < ConsoleKey.NumPad0 || local_5 > ConsoleKey.NumPad9) && (local_5 != ConsoleKey.Clear && local_5 != ConsoleKey.Insert) && (local_5 < ConsoleKey.PageUp || local_5 > ConsoleKey.DownArrow))
              {
                if ((int) buffer.keyEvent.repeatCount > 1)
                {
                  --buffer.keyEvent.repeatCount;
                  Console._cachedInputRecord = buffer;
                  goto label_14;
                }
                else
                  goto label_14;
              }
            }
          }
          throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_ConsoleReadKeyOnFile"));
        }
      }
label_14:
      Console.ControlKeyState controlKeyState = (Console.ControlKeyState) buffer.keyEvent.controlKeyState;
      bool shift = (controlKeyState & Console.ControlKeyState.ShiftPressed) != (Console.ControlKeyState) 0;
      bool alt = (controlKeyState & (Console.ControlKeyState.RightAltPressed | Console.ControlKeyState.LeftAltPressed)) != (Console.ControlKeyState) 0;
      bool control = (controlKeyState & (Console.ControlKeyState.RightCtrlPressed | Console.ControlKeyState.LeftCtrlPressed)) != (Console.ControlKeyState) 0;
      ConsoleKeyInfo consoleKeyInfo = new ConsoleKeyInfo(buffer.keyEvent.uChar, (ConsoleKey) buffer.keyEvent.virtualKeyCode, shift, alt, control);
      if (!intercept)
        Console.Write(buffer.keyEvent.uChar);
      return consoleKeyInfo;
    }
0
19.09.2013, 18:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2013, 18:40
Помогаю со студенческими работами здесь

Тип параметра или возвращаемого значения не может быть описанием записи или описанием массива с границами
Помогите пожалуйста что за ошибка Тип параметра или возвращаемого значения не может быть...

Тип параметра или возвращаемого значения не может быть описанием записи или описанием массива с границамии (в 4 строке.)
Program sumir; var a: array of integer; sa1, sa2,sa3 : integer; n,l,t : integer; procedure...

Нужно исправить ошибку.Тип параметра или возвращаемого значения не может быть описанием записи или описанием массива
Подскажите пожалуйста как исправить ошибки в этой программе. Тип параметра или возвращаемого...

Нужен оффлайн справочник php функций
Подскажите где можно скачать норм. справочник по php функциям или если кто использует уже - дайте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru