элементы массива не могут быть изменены c ++ - PullRequest
0 голосов
/ 27 сентября 2019

Элементы узлов в массиве не изменяются, распечатка всегда равна 0 для каждого элемента, почему это так?

double* knots;
knots = (double*)malloc(sizeof(double) * numKeys);
// Initializaiton
for (int i = 0; i < numKeys; i++) {
    knots[i] = 0;
}
// assign value
for (int i = 0; i < numKeys; i++) {
    knots[i] = -1 + i;
    printf("%d\n", knots[i]);
}

Ответы [ 2 ]

3 голосов
/ 27 сентября 2019

Для печати парных символов используйте "%lf\n".(lf = long float)

0 голосов
/ 27 сентября 2019

Измените это:

printf("%d\n", knots[i]);

на это:

printf("%f\n", knots[i]);

Примечание: %f по умолчанию читает в два раза.В случае, если вы передадите float, сначала он будет преобразован в двойной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...