Как описать прототип функции - C (СИ)
Формулировка задачи:
Помогите разобраться с прототипами, есть следующий код: и в нем есть несколько одинаковых кусков
собственно вопрос, как пишется этот прототип? чтобы хоть немного сократить этот код.
ЗЫ: Всех мужиков с праздником))
#include <vcl.h> #pragma hdrstop #pragma argsused #include <stdio.h> #include <conio.h> #include <stdlib.h> int main(int argc, char* argv[]) { int a, i, b, c; /* a - колличество элементов массивов b - переменная выхода из бесконечного цикла программы i - количество повторов цикла при заполнении массива c - для ввода элементов массива */ char err[250]; /*переменная для считывание ошибочно введенных данных*/ do /*начало цикла повторения программы*/ { clrscr(); /*очищаем экран консоли*/ printf("Vvedite kol-vo elementov massiva=>"); /*просим ввести количество элементов массива*/ while (!scanf("%d",&a)) /*условие цикла проверки на правильность введенного значения, пока не считается целое число делать*/ { scanf("%s",err); /*считывать в переменную err как символы*/ printf("error\n"); /*выводить на экран сообщение об ошибке*/ } int *mass=(int*)malloc(a*sizeof(int)); /*выделяем память под массив а-элементов*/ do /*начало цикла проверки введенного значения делать:*/ { printf("\n\nZapolnit avtom?\n\n1-DA\n2-NET\n>"); /*спрашиваем способ заполнения массива*/ if (!scanf("%d",&e)) /*если не можем считать ка целое число делать*/ { scanf("%s",err); /*считывать в переменную err как символы*/ printf("error\n"); /*выводить на экран сообщение об ошибке*/ } } while((e!=1)&(e!=2)); /*условие выхода из цикла, т.е. введено правильное значение*/ if (e==2) /*если пользователь выбрал заполнение массива вручную (е=2) делаем:*/ { /*--------------------цикл ручного ввода значений элементов массива--------------------------*/ for (i=0; i<a; i++) /*условие повтора цикла*/ { printf("Vvedite element massiva #"); /*выводим на экран запрос на ввод элемента массива*/ printf("%d",i+1); /*дописываем меняющийся номер элемента массива*/ printf("=>"); /*выводим для удобства отображения*/ if (!scanf("%d",&c)) /*если не можем считать как целое число делать:*/ { scanf("%s",err); /*считывать в переменную err как символы*/ printf("error\n"); /*выводить на экран сообщение об ошибке*/ i--; /*инкрементируем счетчик, чтобы ввод продолжался с места неправильно введенной переменной*/ } else /*иначе*/ mass[i]=c; /*заносим введенное значение в массив*/ } /*-------------------------конец цикла ручного ввода значений--------------------------------------*/ } else /*иначе (если пользователь выбрал автоматическое заполнение(е=1))*/ /*-----------------цикл заполнения массива произвольными значениями------------------------------*/ for (i=0; i<a; i++) /*условие повтора цикла*/ { mass[i]=rand()%100; /*заносим в массив рандомное значение*/ } /*--------------------конец цикла автоматического ввода значений----------------------------------*/ printf("\nIshodnii massiv "); /*выводим на экран сообщение о выводе исходного массива*/ /*----------------начало цикла вывода на экран исходного массива----------------------------------*/ for (i=0; i<a; i++) /*условие повтора цикла*/ { c=mass[i]; /*присваиваем переменной с значение элемента массива*/ printf("%d", c); /*выводим на экран переменную с*/ printf(" "); /*печатаем пробел, чтобы разделить элементы при выводе*/ } /*-------------------------конец цикла вывода исходного массива-----------------------------------*/ printf("\n\nMassiv v obratnom poryadke "); /*выводим сообщение о выводи обратного массива*/ /*----------------------цикл вывода массива в обратном порядке-----------------------------------*/ for (i=a-1; i>=0; i--) /*условие цикла*/ { c=mass[i]; /*присваиваем переменной значение элемента массива*/ printf("%d", c); /*печатаем на экран переменную с*/ printf(" "); /*печатаем пробел чтобы разделить элементы при выводе*/ } /*----------------------конец цикла вывода обратного массива--------------------------------------*/ free(mass); /*освобождаем память из под массива*/ b=0; /*обнуляем переменную b*/ do /*начало цикла проверки введенной переменной делать:*/ { printf("\n\nSnachala?\n\n1-DA\n2-NET\n>"); /*спрашиваем будем ли повторять*/ if (!scanf("%d",&b)) /*если не можем считать как число делать:*/ { scanf("%s",err); /*считать в переменную err как символы*/ printf("error\n"); /*вывести сообщение об ошибке*/ } } while((b!=1)&(b!=2)); /*условие выхода из цикла, т.е. если введено правильное значение*/ } while(b!=2); /*условие выхода из цикла, т.е. если b не 2, то повторяем программу*/ printf("\nProgrammu podgotovi\nstuden gruppi 429"); /*вывод на экран*/ printf("\n\nNajmite enter dlya vihoda"); /*вывод на экран*/ getch (); /*ждем нажатия ентера*/ return 0; /*возвращаем 0*/ }
if (!scanf("%d",&b)) /*если не можем считать как число делать:*/ { scanf("%s",err); /*считать в переменную err как символы*/ printf("error\n"); /*вывести сообщение об ошибке*/ }
Решение задачи: «Как описать прототип функции»
textual
Листинг программы
void func(int); void func(int a) { printf("value = %d\n", a); } ... func(1);
Объяснение кода листинга программы
- Объявлена функция func(int)
- В функции func(int) происходит вывод значения переменной a с помощью функции printf
- Значение переменной a получается из аргумента функции func(int)
- Аргумент функции func(int) имеет тип int и передается в функцию func(int) без имени
- Функция func(int) принимает только один аргумент типа int
- Значение переменной a выводится на экран с помощью функции printf
- Значение переменной a представлено в виде строки с помощью формата %d
- Выполняется вызов функции func(int) с аргументом 1
- Значение аргумента 1 передается в функцию func(int)
- В функции func(int) происходит вывод значения переменной a
- Значение переменной a равно 1
- Значение переменной a выводится на экран
- Результатом выполнения функции func(int) является вызов функции printf
- Значение переменной a представлено в виде строки
- Значение переменной a выводится на экран
- Значение переменной a равно 1
- Значение переменной a представлено в виде строки
- Значение переменной a выводится на экран
- Значение переменной a равно 1
- Значение переменной a представлено в виде строки
- Значение переменной a выводится на экран
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д