Составление массива из локальных переменных на СИ
Необходимо написать программу которая в результате выводит массив, составленный из значений локальных переменных. Причем некоторые значения массива должны быть представлены шестнадцатеричными (напр. "7f"), другие десятичными (вида "32" или "000635").
Как в таком случае лучше вытащить значения из функций void в массив, находящийся в функции main?
#include <stdio.h>
int Command, Volume, Error;
int array_of_variables [3] = {Command, Volume, Error};
void command_fuction ()
{
//обработка переменной Command//
int Command = 31; //результат//
}
void volume_fuction ()
{
//обработка переменной Volume //
int Volume = 045673; //результат//
}
void error_fuction ()
{
//обработка переменной Error //
int Error = 02; //результат//
}
int main()
{
command_fuction ();
volume_fuction ();
error_fuction ();
for(int i = 0; i < 3; i++)
{
printf("%d\t", array_of_variables[i]);
}
return 0;
}
Ответы (1 шт):
Автор решения: Sergey
→ Ссылка
Как в таком случае лучше вытащить значения из функций void в массив
Зачем Вам что-то вытаскивать ?! Массив array_of_variables у вас и так объявлен глобальным. Т.е. он в общем доступе:
#include <stdio.h>
int array_of_variables [3];
void command_fuction ()
{
int Command = 31; //результат//
array_of_variables[0] = Command;
}
void volume_fuction ()
{
int Volume = 045673; //результат//
array_of_variables[1] = Volume;
}
void error_fuction ()
{
int Error = 02; //результат//
array_of_variables[2] = Error;
}
int main()
{
command_fuction ();
volume_fuction ();
error_fuction ();
for(int i = 0; i < 3; i++)
{
printf("%d\t", array_of_variables[i]);
}
return 0;
}