我的程序有兩個獨立的功能,它排除非首要位置,然後保留這個輸出。除了我遇到的問題是,目前它不是我想要的,因爲第一個函數排除了非黃金地點,然後第二個函數使用了原始輸入,並且保留而不是函數的輸出一。我是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