Другие языки программирования и технологии

Функции в Си

Как вызвать функцию? Мне в функции main нужно передать число в функцию abc (например) и вернуть из abc число. Как это написать

пример:
в ответе должна быть сумма чисел а и b в квадрате

main
{
int a, b, c;

a = 2;
b = 3;
a + b = c;
"вызываем функцию, передаем 'с', получаем с^2"
printf....(и т.д.);
}

int abc
{
int a;
"получаем 'с'"
a = c * c;
return c;
}
Илья Плеханов
Илья Плеханов
1 414
Напишу как в С++, возможно подойдёт.
void main()
{
int a, b, c;

a = 2;
b = 3;
c=abc(a);
b=abc(b);
printf(c);
}

int abc(int argument1)
{
int a;
a =argument1 * argument1;
return a;
}
ПТ
Петр Тафинц
436
Лучший ответ
#include <stdio.h>
#include <conio.h>

// Функция должна быть объявлена
int abc(int, int);

void main()
{
int a = 2, b = 3, c;

// Функция должна быть вызвана
c = abc(a, b);

printf("\n c = %d", c);

getch();
}

// Функция должна быть определена
int abc(int x, int y)
{
return (x + y) * (x + y);
}
Giyasov_ Jamik
Giyasov_ Jamik
78 795
Смотря, что тебе вообще нужно, вот два варианта, например:

#include <stdio.h>

int square(int x) {
return x * x;
}

void selfsquare(int *x) {
*x = (*x) * (*x);
}

int main() {
int a, b, c, cc;
a = 2;
b = 3;
c = a + b;
// "вызываем функцию, передаем 'с', получаем с^2"
cc = square(c);
printf("square of c: %d\n", cc);
printf("square of a + b: %d\n", square(a + b));
selfsquare(&cc);
printf("now cc is %d\n", cc);

return 0;
}

ЗЫ: почитал бы K&R и не парил бы себе мозги
Камиль Загреев
Камиль Загреев
60 058
#include<stdio.h>
int abc(int a, int b){return a+b;}
int main(){int a=2,b=3,c; c=abc(a,b); printf("%d",c); return 0;}

Можно короче, но для ясности я не стал. Да, еще замечу, что a и b в функциях abc и main никак между собой не связаны, в любой можно было использовать другие имена.
Viktor Petrenko
Viktor Petrenko
56 928
ты main вродебы не можешь вызывать, только main может вызывать функции.
Пиши если чё на мыло
Илья Плеханов я не мэйн вызываю а из мэйна вызываю abc