Как вернуть два значения через return? - C (СИ)
Формулировка задачи:
Вот пример. Мне нужно с помощью функции zero записать в х0=0 , а в х1=1.
вооооот, вообщем я хз как это сделать . грубо говоря нужно просто перезаписать значения в ячейках x0 и x1
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
int zero()
{
return 1;
}
void main(void)
{
int x0 = 1;
int x1 = zero();
printf("x0=%d\n", x0);
printf("x1=%d\n", x1);
return ;
}Решение задачи: «Как вернуть два значения через return?»
textual
Листинг программы
void zero(int* x0, int* x1) {
*x0 = 0;
*x1 = 1;
}
int main() {
int x0, x1;
zero(&xo, &x1);
}
Объяснение кода листинга программы
- В функции zero два указателя на int, x0 и x1.
- Внутри функции, x0 присваивается 0, а x1 присваивается 1.
- В функции main, объявлены две переменные, x0 и x1, типа int.
- Функция zero вызывается с адресами переменных x0 и x1 в качестве аргументов.
- После возвращения из функции zero, значения x0 и x1 становятся 0 и 1 соответственно.