Как перенести переменные из одной функции в другую? - C (СИ)
Формулировка задачи:
Есть программа
Как перенести переменные из функции date в функцию main ?
#include <stdio.h>
#include <locale.h>
#include <time.h>
int date()
{
setlocale(LC_ALL,"Russian");
time_t t;
struct tm *nabor;
time(&t);
nabor = localtime(&t);
int tyear = (nabor->tm_year)+1900;
int tmonth =(nabor->tm_mon)+1;
int tday = (nabor->tm_mday);
printf("Текущий год - %d\n", tyear);
printf("Текущий месяц - %d\n", tmonth);
printf("Текущий день - %d\n", tday);
return 0;
}
int main (){
// int tyear,tmonth,tday;
int byear,bmonth,bday;
date();
printf ("Введите дату рождения.\n");
printf ("Год: ");
scanf ("%d",&byear);
printf ("Месяц: ");
scanf ("%d",&bmonth);
printf ("День: ");
scanf ("%d",&bday);
int age=tyear-byear;
if (tmonth<bmonth){
age--;
};
if (tmonth==bmonth){
if (tday<bday){
age --;
}
if (tday==bday){
printf ("Сегодня - день рождения\n");
}
}
printf("Возраст: %d\n", age);
}Решение задачи: «Как перенести переменные из одной функции в другую?»
textual
Листинг программы
#include <stdio.h>
void funko(int *a, int *b)
{
scanf("%d", a);
scanf("%d", b);
}
int main(void)
{
int a, b, x;
funko(&a, &b);
x = a + b;
printf("%d", x);
return 0;
}
Объяснение кода листинга программы
- Переменные a и b объявлены в функции main.
- Функция funko принимает два указателя на переменные типа int.
- В функции funko происходит ввод значений через функцию scanf в переменные, на которые указывают указатели a и b.
- В функции main происходит вызов функции funko с указателями на переменные a и b.
- Результат сложения переменных a и b сохраняется в переменной x.
- Значение переменной x выводится на экран с помощью функции printf.
- Программа завершается возвратом значения 0 в функции main.