Хочу перейти к другому значению через добавление константы к указателю, но выводит не то значение, что нужно.
int min(int m, ...) {
int *ptr = &m;
int min = *(ptr + 1);
if (*ptr == 0)
return 0;
for(; *ptr; ptr++) {
if (*ptr < min)
min = *ptr;
}
return min;
}
*ptr
работает нормально, но уже *(ptr + 1)
не выдаёт то, что нужно.
Если всё-таки интересует, почему не получалось с указателями, возможно, это подскажет почему.
#include <stdio.h>
#define LIMIT 100
void searchoffset(int findwhat, ...)
{
int *args = &findwhat;
printf("first element: %p : %d\n\n", args, *args);
args++;
int counter = 0;
do
{
printf("offset: %d [%p : %d]\n", counter, args, *args);
args++;
counter++;
} while (*args != findwhat);
printf("offset: %d [%p : %d]\n", counter, args, *args);
}
int main()
{
searchoffset(135, 2, 11, 144, 25, 7, 135);
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Допустим, у меня есть класс, который я создаю в самом начале программы, в его конструкторе я выделяю память под какие-то другие объекты с помощью...
Так смог получить только первые 128 битКак при каждом цикле получать следующие 128 бит? Как определить конец файла?
Как в travisyml написать чтобы выполнялся code style только у измененных файлов? Язык C++