VICKYVIRUS Ответов: 3

Программирование на языке Си что лучше и какой из них предпочесть пожалуйста объясните


#include<stdio.h>
int add(int,int);
int main()
{
	int first,second,sum;
	printf("Enter your first number : ");
	scanf("%d",&first);
	printf("Enter your second number : ");
	scanf("%d",&second);
	printf("sum = %d ",add(first,second));
}
int add(int x,int y)
{
	int sum;
	sum=x+y;
	return sum;
}


ОПЕРАЦИОННАЯ
#include<stdio.h>
void add()
int main()
{
	add();
}
void add()
{
int first,second,sum;
printf("Enter your first number : ");
scanf("%d",&first);
printf("Enter your second number : ");
scanf("%d",&second);
sum=first+second;
printf("sum =%d",sum);
}


Что я уже пробовал:

Оба дают правильный ответ но какой из них предпочесть пожалуйста объясните

3 Ответов

Рейтинг:
5

Patrice T

Цитата:
Программирование на языке Си что лучше и какой из них предпочесть пожалуйста объясните

На это нет однозначного ответа, это дело вкуса.
Я мог бы написать и то, и другое, для такого маленького проекта нет никакой разницы.
если add это должно быть повторно использовано для разных вещей, Первый стиль предпочтительнее.


Рейтинг:
28

OriginalGriff

Честно говоря, это вопрос стиля - и вторая версия лучше подходит для "больших" функций, но для одной тривиальной строки кода я бы предпочел первую.

О'Кей, компилятор, вероятно, все равно встроит код - в наши дни они довольно умны, - так что накладных расходов на производительность не будет, но писать функцию для добавления двух чисел-это немного чересчур! :смеяться:

Что бы я сделал, так это написал функцию, которая принимает приглашение, извлекает пользователя inptu и возвращает его:

int GetInt(const char *prompt)
    {
    int result;
    printf(prompt);
    scanf("%d", &result);
    return result);
    }
А потом используй это дважды:
int main()
    {
    int first,second,sum;
    first = GetInt("Enter your first number : ");
    second = GetInt("Enter your second number : ");
    printf("sum = %d\n", first + second));
    }


Рейтинг:
0

CPallini

Вот этот:

#include<stdio.h>
int main()
{
  int first,second;
  printf("Enter your first number : ");
  scanf("%d",&first);
  printf("Enter your second number : ");
  scanf("%d",&second);
  printf("sum = %d\n", (first + second));
  return 0;
}