Функция sizeof вызванная в другой функции выдает неправильное значение - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Не могу понять, почему функция sizeof вызванная в другой функции выдает неправильное значение.
#include<iostream.h>
#include<iomanip.h>
 
//ïðîòîòèï ГґГіГ*êöèè êîïèðîâГ*Г*ГЁГї Г¬Г*Г±Г±ГЁГўГ* programCode[] Гў Г¬Г*Г±Г±ГЁГў memory[].
void loadProgramToMemory(short programCode[], short memory[]);
 
main()
{
    short memory[10] = {0};
    short programCode[] = {1003, 1103, 4300};
 
    //ГІГіГІ ГґГіГ*êöèÿ sizeof Г°Г*áîòГ*ГҐГІ ГЇГ°Г*âèëüГ*Г®
    cout << "Size of programCode[] in main(), B: "
        << sizeof programCode << endl << endl;
 
    loadProgramToMemory(programCode, memory);
 
    //âûâîä Г*Г* ГЅГЄГ°Г*Г* ñîäåðæèìîãî Г¬Г*Г±Г±ГЁГўГ* memory[]
    cout << "MEMORY:\n";
    for (int i = 0; i < 10; i++)
        cout << setw(6) << memory[i];
    cout << endl;
 
    return 0;
}
 
//ГґГіГ*êöèÿ êîïèðîâГ*Г*ГЁГї Г¬Г*Г±Г±ГЁГўГ* programCode[] Гў Г¬Г*Г±Г±ГЁГў memory[].
void loadProgramToMemory(short programCode[], short memory[])
{
    cout << setw(6) << programCode[0]
        << setw(6) << programCode[1]
        << setw(6) << programCode[2] << endl << endl;
 
    //ñîáñòâåГ*Г*Г® Г*ГҐГ*îðìГ*ëüГ*îå ïðîÿâëåГ*ГЁГҐ Гґ-ГЁГЁ sizeof
    cout << "Size of programCode[] in other function, B: "
        << sizeof programCode << endl << endl;
 
    // îïðåäåëåГ*ГЁГҐ Г°Г*çìåðГ* Г¬Г*Г±Г±ГЁГўГ* programCode[]
    int programSize = sizeof programCode / sizeof (short);
 
    for (int i = 0; i < programSize; i++)
        memory[i] = programCode[i];
}
Size of programCode[] in main(), B: 6 1003 1103 4300 Size of programCode[] in other function, B: 4 MEMORY: 1003 1103 0 0 0 0 0 0 0 0 Press any key to continue

Решение задачи: «Функция sizeof вызванная в другой функции выдает неправильное значение»

textual
Листинг программы
 sizeof programCode << endl << endl;//!может там была опечатка!?
int programSize = sizeof programCode / sizeof (short);//или здесь

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы