Передача значений из одной функции в другую - C (СИ)
Формулировка задачи:
Как сделать чтоб с этой функции:
передавались значение в эту:
и потом чтоб main() анализировала эти значения.
int string(char * ch)
{
int big=0,small=0,i;
for(i=1;i<ch[i];++i)
{
if(ch[i]>=65 && ch[i]<=90)
big++;
else if(ch[i]>=97 && ch[i]<=122)
small++;
}
if(big==0)
printf("small!");
else if(small==0)
printf("BIG!");
else
printf("BIG & small");
return 0;
}#include <stdio.h>
int main()
{
int string(char * ch);
char ch[100];
gets(ch);
string(ch);
getch();
return 0;
}Решение задачи: «Передача значений из одной функции в другую»
textual
Листинг программы
struct mystruct string(char * ch)
{
int big=0,small=0,i;
struct mystruct bigsmall;
for(i=1;i<ch[i];++i)
{
if(ch[i]>=65 && ch[i]<=90)
big++;
else if(ch[i]>=97 && ch[i]<=122)
small++;
}
if(big==0)
printf("small!");
else if(small==0)
printf("BIG!");
else
printf("BIG & small");
bigsmall.big=big;
bigsmall.small=small;
return bigsmall;
}
Объяснение кода листинга программы
Объяснение работы кода:
- В начале определена структура
mystruct, которая состоит из двух полей:bigиsmallтипаint. - Затем определен указатель
chна строку символов. - Функция
string(char * ch)принимает этот указатель в качестве аргумента. - Внутри функции инициализированы переменные
bigиsmallсо значением 0. - Создается структура
bigsmall, которая будет использоваться для возврата результата из функции. - Затем происходит проход по символам строки
ch. - Если текущий символ находится в диапазоне от 65 до 90 (включительно), то увеличивается значение переменной
big. - Если текущий символ находится в диапазоне от 97 до 122 (включительно), то увеличивается значение переменной
small. - После прохода по всем символам строки выполняется проверка: если значение
bigравно 0, то выводится сообщениеsmall!. - Если значение
smallравно 0, то выводится сообщениеBIG!. - В противном случае выводится сообщение
BIG & small. - Значения переменных
bigиsmallзаписываются в соответствующие поля структурыbigsmall. - В конце функция возвращает структуру
bigsmall. Список действий: - Определение структуры
mystruct. - Инициализация указателя
ch. - Принятие указателя
chв функциюstring(). - Инициализация переменных
bigиsmallвнутри функции. - Создание структуры
bigsmallвнутри функции. - Проход по символам строки
chи увеличение значенияbigилиsmallв зависимости от текущего символа. - Проверка значения
bigи вывод сообщенияsmall!илиBIG!. - Запись значений
bigиsmallв поля структурыbigsmall. - Возврат структуры
bigsmallиз функции.