Аргументы командной строки передаются как символьные строки, что облегчает работу с ними.
Пример: пользователь должен из командной строки задать программе несколько имен. Чтобы убедиться в том, что пользователь их ввел, анализируется аргумент argc и, если он не больше 2, происходит выход из программы с сообщением о повторной попытке.
#include <stdio.h>
#include <process.h>
main(int argc, char *argv[])
{
int t;
if(argc<2) {
/* Введите несколько имен в командной строке
при запуске этой программы!
Попробуйте еще раз. */
printf("Enter several names on the command line\n");
printf("when executing this program!\n");
printf("Please try again.\n");
exit(0);
}
for (t=l; t<argc; t++)
printf("Entry #%d is %S\n",t,argv[t]);
return(0);
}
Эта программа целиком находится в функции main() и не требует дополнительных функций. Имена, введенные с командной строки, печатаются на экране в том же порядке.
В соответствии с ANSI С, отсутствие списка аргументов функции должно быть указано явно при помощи ключевого слова void. В C++ использование void пока не обязательно, но считается целесообразным.
Пример: имеется простая функция voutput(), не имеющая параметров и не возвращающая никакого значения. Функция main() вызывает voutput(). При выходе из voutput() управление возвращается функции main().
#include <stdio.h>
#include <math.h>
void voutput(void);
main()
{
/* Программа определяет квадратный корень */
printf("This program will find the square root. \n\n");
voutput();
return(0);
}
void voutput(void)
{
double dt=12345.0;
double du;
du=sqrt(dt);
printf("The square root of %lf is %lf \n",dt,du);
}
Обратите внимание, что функция voutput() вызывает библиотечную функцию С, называемую sqrt(). Прототип sqrt() находится в файле math. h. У функции один параметр в формате числа двойной длины, и возвращает она результат извлечения квадратного корня тоже в виде числа двойной длины.
Функции можно передавать символьные значения.
Пример: в функции main() одиночный символ считывается с клавиатуры и передается функции voutput(). Символ считывается функцией getch().Функция getch() получает символ от стандартного устройства ввода (клавиатуры) и возвращает символьное значение, не отображая его на экране.
#include <stdio.h>
void voutput (char с);
main()
{
char cyourchar;
/* Введите один символ с клавиатуры */
printf("Enter one character from the keyboard, \n");
cyourchar=getch();
output (cyourchar);
return(0);
}
void voutput (char c)
{
int j;
for(j=0;j<16;j++)
/* Введен символ ... */
printf("The character typed is %c \n", c);}
Функции передается единственный символ. Функция 16 раз печатает сообщение и символ. Формат %с в функции printf() задает печать одиночного символа.