моя программа имеет две отдельные функции, она исключает не-первичные позиции, а затем резервирует вывод из этого. За исключением проблемы, с которой я сталкиваюсь, заключается в том, что в настоящее время она не работает, как я хочу, чтобы она была в том смысле, что первая функция исключает нечетные места, а затем вторая функция использует исходный вход и резервы, а не вывод из функции один. Я новичок в C, поэтому, пожалуйста, успокойся.Как передать выходные данные из одной функции в другую в C?
#include <stdio.h>
#include <string.h>
void reverse(char[], long, long);
int main()
{
char str[50];
int i, j, k, cnt = 0;
long size;
printf("Enter: ");
scanf("%s", str);
size = strlen(str);
reverse(str, 0, size - 1);
printf(str);
return 0;
}
void reverse(char str[], long index, long size)
{
char temp;
temp = str[index];
str[index] = str[size - index];
str[size - index] = temp;
if (index == size/2)
{
return;
}
reverse(str, index + 1, size);
}
Извините за настолько неопределенны, выход образца от входа 1234567
будет 2357
, то этот выход в обратном 7532
.
Не могли бы вы объяснить немного больше вашей проблемы? В функции 'main' вы не меняете' str', поэтому в 'reverse' вы работаете с оригинальной' str'. – Marievi
Не могли бы вы привести пример ввода и вывод, который вы ожидаете? Я не совсем понимаю, что вы пытаетесь выполнить. –
* 'исключает неперфорированные позиции, а затем резервирует выходные данные *. Что вы подразумеваете под * непервыми позициями *? Возможно опечатка для: * re ** v ** er ** s ** e выход *? – Wolf