Как использовать массив в цикле for и как проверить, является ли значение, полученное при вычислении чего-либо, целым числом или нет? - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь написать функцию для получения массива и проверять каждые i и i++, чтобы определить, больше ли они, чем k.

Я не понимаю, как это исправить

// xcode

#include <stdio.h>
int sum;
int i;

int funcex2(int arrayr , int num) {
    for (i=0; i>6; i++) {
        arrayr[i] + arrayr[i++] = sum;
    }
}

int main() {
    int arrayex2[6] = {2,5,7,8,5,-1};
    int k = 14;
    funcex2(arrayex2, k);
}

1 Ответ

0 голосов
/ 12 января 2019

относительно:

int funcex2(int arrayr , int num) {

это недопустимая подпись для вызываемой функции.

Помимо прочего, ссылка на имя массива ухудшается до адреса первого байта массива.

Подпись должна быть:

int funcex2(int arrayr[] , int num) {

или, чуть менее описательный:

int funcex2(int *arrayr , int num) {

относительно:

arrayr[i] + arrayr[i++] = sum;

Это чепуха. Элемент в левой части оператора '=' должен быть 'L-значением', а переменная sum не была инициализирована, поэтому результатом является неопределенное поведение

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