Синтаксис функции структуры C - передать элементы, вернуть структуру - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь создать функцию, которая принимает массив и два целых числа для манипулирования и возврата в структуре.

Что у меня выглядит так:

#include <stdio.h>

struct Results {
    int *A; // Pointer para o Array
    int N; // Comprimento do Array
};

int k, n;
struct Results solution(int A[], int N, int K);

int main(void){
    int a[] = {1,2,3};
    struct Results out;

    k = 1;
    n = sizeof(a)/sizeof(a[0]);
    printf("n = %d \n", n);

    out = solution(int a[], int n, int k);
    // EXPECTED EXPRESSION !!
}

struct Results solution(int A[], int N, int K) {
    struct Results outp;
    outp.A = A;
    outp.N = N;
    return outp;
};

Я не могу перейти с этого момента, компилятор говорит мне, что при объявлении функции ожидается выражение.

Я думаю, что это может быть основной синтаксической ошибкой ...

1 Ответ

0 голосов
/ 03 сентября 2018

Вы смешиваете синтаксис для определения или объявления функции с фактическим вызовом этой функции:

out = solution(a, n, k);

Типы параметров присутствуют только в прототипе, но не в вызове.

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