Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 06.10.2017
Сообщений: 69

Вывод текста функции

31.10.2017, 09:32. Показов 6373. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ума не доложу что не так

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
void xxx()
       {
           printf("Hello world\n\n\n");
           return;
       }
 
       int main()
       {
        
           void xxx();
           return 0;
       }
она запускается но ничего не выдает
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2017, 09:32
Ответы с готовыми решениями:

Вывод текста из функции
Здравствуйте, вопрос такой. Если мне в ходе работы программы надо вывести какую-то переменную в текстовое поле, я могу сделать так ...

Вывод текста (подписи) на график функции
Здравствуйте, кто-нибудь может помочь подписать график? У меня есть разностное ур-е, которое хранится в 2 Д массиве, по нему строится ф-ция...

Вывод текста в функции без print()
Файл заказ функция выполнить не как не пойму как сделать вывод без использования print() мой вариант + исходники на гугл диске

40
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
31.10.2017, 10:19
Убери void из строки 12.
Он ее понимает не как вызов, а как объявление.
И если бы включил все Варринги, может быть и сам бы догадался...
1
0 / 0 / 0
Регистрация: 06.10.2017
Сообщений: 69
31.10.2017, 10:26  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
Убери void из строки 12.
В этом я разобрался. А можно ли в функции(не в главной) организовать ввод данных, а аргументы ввода использовать в другой?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
31.10.2017, 10:44
Лучший ответ Сообщение было отмечено Frecher как решение

Решение

Цитата Сообщение от Frecher Посмотреть сообщение
можно ли в функции(не в главной) организовать ввод данных, а аргументы ввода использовать в другой?
Можно. Через указатели.
1
0 / 0 / 0
Регистрация: 06.10.2017
Сообщений: 69
31.10.2017, 11:18  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
Можно. Через указатели.
Научился я задавать указатели, а как теперь их использовать в другой функции. То что я попробовал не помогло.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>
int input()
       {
           int *ptra, *ptrb;
           int a, b;
           ptra=a; ptrb=b;
          scanf("%d%d", &a, &b);
          return 0;
       }
 
 
       int main(int *ptra, int ptrb)
       {
 
           int s;
           input();
 
 
           printf("dff %d %d", *ptra, ptrb);
 
           return 0;
       }
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
31.10.2017, 11:29
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
int input( int *ptra, int *ptrb)
       {
          scanf("%d%d", ptra, ptrb);
          return 0;
       }
 
 
       int main(i)
       {
           int a, b;
           input(&a, &b);
           printf("dff %d %d", a, b);
           return 0;
       }
1
0 / 0 / 0
Регистрация: 06.10.2017
Сообщений: 69
31.10.2017, 11:38  [ТС]
[quote="Байт;11669593"]


Ругается компилятор:
G:\CodeBlocks\exort\main.c|13|error: too few arguments to function 'input'|

Добавлено через 4 минуты
Я тут подумал вообщем задание написать: Нужно от значения x посчитать f, там еще диапазон должен бить
Я думаю что надо организовать функцию ввода и проверки значения, а после уже с функции ввода принимать значения в функцию расчета, там значения забивать в массив, а уже в функции main выводить массив
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
31.10.2017, 11:39
Frecher, В коде поста 6 я поначалу допустил пару ляпов. А ты успел скопипастить до их исправления. Возьми код еще разок.
0
0 / 0 / 0
Регистрация: 06.10.2017
Сообщений: 69
31.10.2017, 11:41  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
В коде поста 6 я поначалу допустил пару ляпов. А ты успел скопипастить до их исправления. Возьми код еще разок.
Я исправил самые очевидные)

Добавлено через 23 секунды
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
int input( int *ptra, int *ptrb)
       {
          scanf("%d%d", ptra, ptrb);
          return 0;
       }
 
 
       int main()
       {
           int a, b;
           input();
           printf("dff %d %d", &a, &b);
           return 0;
       }
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
31.10.2017, 11:46
Лучший ответ Сообщение было отмечено Frecher как решение

Решение

Цитата Сообщение от Frecher Посмотреть сообщение
Я тут подумал...
Это все твои дела. Придумывай и Дерзай! Пока учимся простейшему - вводу данных в функции.
Только имей в виду, что ничто человеческое мне не чуждо, и ошибок могу налепить запросто. Правда, стараюсь их исправлять

Добавлено через 2 минуты
Цитата Сообщение от Frecher Посмотреть сообщение
Я исправил самые очевидные
Но не все.
Цитата Сообщение от Frecher Посмотреть сообщение
C
1
printf("dff %d %d", &a, &b);
Амперсендов здесь не нужно. Подумай на досуге, почему здесь не нужны, а в scanf - обязательны.
1
0 / 0 / 0
Регистрация: 06.10.2017
Сообщений: 69
31.10.2017, 11:48  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
Амперсендов здесь не нужно. Подумай на досуге, почему здесь не нужны, а в scanf - обязательны.
&-место в памяти забивает, грубо говоря?
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
31.10.2017, 11:53
Frecher, не угадал. Лучше не угадывать а почитать литературу. Программировать методом тыка не выйдет
1
0 / 0 / 0
Регистрация: 06.10.2017
Сообщений: 69
31.10.2017, 12:08  [ТС]
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Лучше не угадывать а почитать литературу. Программировать методом тыка не выйдет
Учту

Добавлено через 11 минут
Окей, там где мы брали аргументы с главной функции это ясно, но вот как задавать аргументы в другой, применять в третий, а выводить в мейн пока сложно
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>
int input()
       {
           int a, b;
           int *ptra, *ptrb;
           ptra = &a; ptrb = &b;
 
          scanf("%d%d", a, b);
          return 0;
       }
void summa (int *ptra, int *ptrb)
    {
 
        printf("%d %d",*ptra, *ptrb);
    }
 
 
       int main()
       {
           summa();
           return 0;
       }
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
31.10.2017, 12:26
Frecher, Опять повторяешь свои старые ошибки. В функции input написан бред.
Ну и обращение к функции summa не соответствует ее объявлению.
С указателями и амперсендом, конечно, надо тебе разобраться по советуCOKPOWEHEU.
В двух словах. Если функция не меняет значения параметров, можно (и нужно) передавать их живьем.
Если же она собирается их менять, тогда надо передавать указатели на них.
Разберись с передачей параметров в функции и заодно попытайся понять, что такое СТЕК.
1
0 / 0 / 0
Регистрация: 06.10.2017
Сообщений: 69
31.10.2017, 12:30  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
Разберись с передачей параметров в функции и заодно попытайся понять, что такое СТЕК.
Спасибо, что направляешь

Добавлено через 59 секунд
Цитата Сообщение от Байт Посмотреть сообщение
что такое СТЕК
Вчера слышал сравнения с обоймой пистолета)
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
31.10.2017, 12:39
Цитата Сообщение от Frecher Посмотреть сообщение
Вчера слышал сравнения с обоймой пистолета)
Есть такое. По-русски - "магазин".
Но лучше - стопка книг.
Стек или куча: как "правильно" создавать объекты классов?
1
0 / 0 / 0
Регистрация: 06.10.2017
Сообщений: 69
31.10.2017, 12:49  [ТС]
Цитата Сообщение от Байт Посмотреть сообщение
Но лучше - стопка книг
значит аргументы функции инпат недоступны ибо стек возвращает только значения ретурн?
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
31.10.2017, 13:28
Цитата Сообщение от Байт Посмотреть сообщение
Если функция не меняет значения параметров, можно (и нужно) передавать их живьем.
Уточню: если эти параметры не слишком большого объема. При передаче километровой структуры или массива - только по указателю. Стек не выдержит.
Цитата Сообщение от Байт Посмотреть сообщение
Разберись с передачей параметров в функции и заодно попытайся понять, что такое СТЕК
Пока рано. Пусть сначала разберется с указателями, а про стек на этом этапе достаточно знать что он ограничен и что он используется при вызове функций. То есть если вызвать слишком много - поломается стек. Если передать слишком много данных - поломается стек. Но на практике при правильной логике программ я с этим проблем не встречал даже на контроллерах с 128 байт (Сто Двадцать Восемь Байт!) памяти. Вот если с рекурсией накосячить - запросто.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
31.10.2017, 13:47
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Уточню: если эти параметры не слишком большого объема. При передаче километровой структуры или массива - только по указателю. Стек не выдержит.
Вот эти соображения, имхо, лучше оставить до следующих уроков. Сначала нужно научиться ходить, просто держаться на ногах. А уж потом прикидывать, пройти данное расстояние пешком или лучше сесть на автобус
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Пока рано. Пусть сначала разберется с указателями,
Увы! Не вижу способа внятно объяснить про передачу параметров без использования понятия стека.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
При передаче километрового ... массива
А как тебе удавалось передать массив как параметр в стеке? Имхо, если параметр есть массив, то передается именно указатель на него... Конечно, можно обернуть массив в структуру, и эту структуру (по значению) передать. Но это совсем другая история...
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
31.10.2017, 14:15
Цитата Сообщение от Байт Посмотреть сообщение
Увы! Не вижу способа внятно объяснить про передачу параметров без использования понятия стека.
Просто не углубляться в механизм передачи. Пусть есть функция
C
1
2
3
int func(int A, int B, int *ptr);
...
func(1, x, &С);
При вызове ей передаются только значения переменных, но не они сами: значение переменной A (равное 1), значение переменной B (равное значению переменной х) и значение указателя на переменную. Значение указателя сохраняется в переменную ptr и указывает на С. Таким образом, что бы функция ни делала с переменными A, B, ptr, она не изменит значения исходных переменных. А вот если она обратится по указателю ptr, она будет менять участок памяти, соответствующий переменной С, то есть изменит саму переменную.
Иначе говоря, выражения A=0; B=0; ptr=0; никак не влияют на "внешний мир", а вот выражение (*ptr)=0; запишет в переменную С ноль.

Добавлено через 1 минуту
А стек в том смысле про который вы говорите, вообще находится за пределами абстракции языка Си. Язык не обязывает передавать параметры через него. Пусть хоть через астрал передают, лишь бы результат тот же был
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2017, 14:15
Помогаю со студенческими работами здесь

Вывод текста в строку после функции Pars
Есть такой код: function Pars(T_, ForS, _T:string):string; function TForm1.Pars(T_, ForS, _T: string): string; var a, b:integer;...

Вывод текста на PictureBox c помощью API функции TextOut
Здравствуйте! Подскажите, пожалуйста, возможно ли в выводимом на PictureBox текста с пом. функции API изменить высоту выводимого символа?...

Сохранить формат текста полученного из textarea и вывод этого текста
есть вот такой textarea &lt;TEXTAREA cols=&quot;96&quot; wrap=&quot;hard&quot; class=&quot;forms&quot; id=&quot;description&quot; NAME=&quot;description&quot; ...

Вывод текста, запрет растягивания окна, окно ввода текста
Здравствуйте. Заранее извиняюсь за создание очередной темы, но решения в поиске я не нашел. Я научился делать вывод текста с помощью...

Ввод текста в Мемо1 и вывод текста в Мемо2 по возрастанию слов
Здравствуйте! Пользователь вводит текст в Мемо1, по нажатию кнопки текст должен выйти в Мемо2 уже отсортированным по возрастанию...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru