Вопрос заключается в том, чтобы описать, что делает код, что делает функция.
Следующий код является частью прошлых экзаменационных документов для модуля C и С++ второго года. Задача состоит в том, чтобы описать, что делает следующий фрагмент кода. Я написал код точно так, как он был представлен, с некоторыми комментариями, добавленными мной.
int g(int * y, unsigned size, int z) {
int tmp = y[0];
// what type is unsigned size? Int I presume. Why would you add an int to an array of ints?
int * b = y + size;
y[0] = z;
// I have the most difficulty understanding the following.
while (1) if (*(--b)==z){y[0] = tmp; return b - y;};
// are the following 3 lines ever even reached?
y[0] = tmp;
if (tmp == z) return 0;
else return -1;
}