Задачи по языку С



         

Пояснения:


Классы памяти 2.1

int i=LOW; i.0=0.
main() {
auto int i=HIGH; i.1=5.
reset(i.1/2); Функция reset вызывается с параметром i.1/2. Ее выполнение не затрагивает i.1.
PRINT1(d,i.1);
reset(i.1=i.1/2); Опять обращаются к reset со значением i.1/2. На этот раз побочным эффектом от вызова функции будет присваивание i.1 значения 2, а reset опять не повлияет на i.1.
PRINT1(d,i.1);
i.1=reset(i.1/2); Переменная i.1 получит значение, выдаваемое reset при обращении к ней с параметром i.1/2. Мы вставим в это место тело функции.
int reset(1) Тип значения, выдаваемого функцией, указывается в ее описании. Функция reset возвращает значение типа int.
{ (int i=1;) i.reset=1.

Параметры функции можно рассматривать как инициированные локальные переменные. Мы выделили эти неявные присваивания с помощью скобок.

i.reset= i.reset i.reset=5.
return (i.reset); Функция reset возвращает целое 5; так что i.1=5.
PRINT1(d,i.1);
workover(i.1) Функции workover передается значение i.1; сама i.1 вызовом функции не затрагивается. Мы вставим здесь тело функции, так как оно содержит обращение PRINT1.
workover(5) Если не указано что-то другое, то функция возвращает значение типа int.
{(int i=5;) i.workover=5.
i. workover=0*whatever i.workover=0.
PRINT1(d, i.workover);
return(i.workover); } Функция workover возвращает 0, но обращающаяся к ней программа это игнорирует.
PRINT1(d,i.1); }




Содержание  Назад  Вперед