我的程序有两个独立的功能,它排除非首要位置,然后保留这个输出。除了我遇到的问题是,目前它不是我想要的,因为第一个函数排除了非黄金地点,然后第二个函数使用了原始输入,并且保留而不是函数的输出一。我是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