の値を変更しません。関数が完了すると、値は変更されません。 たときにそれらが変更された機能指数()を実行し、私は非常に多くの値を更新するために何を行うことができます...関数は、indexs()関数を呼び出すときに値
void indexs(int i , char *str,int indexStart,int indexEnd,int wordlen)
{
int words = 1;
int len = strlen(str);
for (int j = 0; j < len; j++)
{
if (str[j] == ' ')
words++;
}
if (i > 0 && i <= words)
{
words = 1;
int k = 0;
while (words != i)
{
if (str[k] == ' ')
++words;
++k;
++wordlen;
if (words == i)
{
indexStart = k;
while (str[k] != ' ' && k != (len-1))
{
wordlen++;
k++;
}
indexEnd = k;
}
}
}
else
{
printf("The index dosen't exsist\n");
}
}
char delete(char *str)
{
int i, indexStart = 0, indexEnd = 0, wordlen = 0;
printf("Enter the index of the word that you want to remove: ");
scanf("%d", &i);
indexs(i, str,indexStart,indexEnd,wordlen);
......
}
どのような値ですか?これは何をするはずですか?どのように呼びますか? –
@WendingPeng:Cには "pass by reference"(C++と同様)がなく、 "値渡し"だけです。しかし、OPはいくつかの変数のアドレスを渡すことができます。 –
[参照渡しと値渡しの違いは何ですか?](https://stackoverflow.com/questions/373419/whats-the-difference-between-passing-by-reference-vs-passing- –