c программа, указатели - PullRequest
       15

c программа, указатели

3 голосов
/ 22 октября 2011

Я делаю программу, которая берет трехзначное целое число и разбивает его на два целых числа.224 станет 220 и 4.114 станет 110 и 4.

По сути, вы делаете это с модулями.Я написал то, что, по моему мнению, должно работать, и компилятор продолжает говорить, что перед &big пропущена скобка, но любые изменения просто приводят к большему количеству ошибок.

#include <stdio.h>

void split_num(int complete, int *big, int *little){
     *little = complete%10;
     *big  = complete - *little;
     return;
}


int main()
{
    int complete, big, little;

    printf("Give an integer to split: \n");
    scanf("%d", &complete);

    void split_num(complete, &big, &little);
    printf("Num split into 2 is : %d and %d", big, little);

    return 0;
}

Ответы [ 4 ]

3 голосов
/ 22 октября 2011

Уберите "пустоту" в вашем вызове split_num (). Он используется только в объявлении функции (чтобы показать, что он не возвращает значение), а не в его фактическом вызове.

0 голосов
/ 22 октября 2011

У вас есть ошибка в следующей строке:

void split_num( complete, &big, &little );

Удалите возвращаемый тип void и вызовите функцию следующим образом:

split_num( complete, &big, &little );

возврат; оператор в функции split_num (...) также не нужен.

0 голосов
/ 22 октября 2011

удалить пустоту в строке "void split_num".Вы не указываете возвращаемые значения (void) при простом вызове метода.

0 голосов
/ 22 октября 2011

Строка (в основном ())

void split_num(complete, &big, &little);

следует читать

split_num(complete, &big, &little);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...