【发布时间】:2014-07-14 04:51:00
【问题描述】:
void stringReverse(char *s) {
char temp;
int i = 0;
int j = strlen(s) - 1;
while (i >= j)
{
temp = s[i];
s[i] = s[j]; //swap the characters
s[j] = temp;
i++;
j--;
}
}
这是函数stringReverse(char *s),我必须在其中调用下面的主函数
int main(int argc, char *argv[])
{
FILE *in; /* file handle for input */
FILE *out; /* file handle for output */
char word[256]; /* char array to store words from input file */
/* read words from input file, print on separate lines to output file*/
while ( fscanf(in, " %s", word) != EOF )
{
out = stringReverse(char *word);
fprintf(out, "%s\n", word);
}
/* close input and output files */
fclose(in);
fclose(out);
return (EXIT_SUCCESS);
}
我很难理解我应该如何调用stringReverse 函数。我的计划是从文本文件中反转一个单词并将其反转放入另一个空文件中
【问题讨论】:
-
s是参数还是函数中的局部变量? -
@Dani 计数器变量...循环中非常熟悉的变量。
-
您的代码看起来像是反转每个单词,而不是反转文件
-
调用函数时不指定类型。您只需指定参数。因此,您可以按如下方式调用 stringReverse:“stringReverse(word)”。您将其称为“stringReverse(char *word)”。声明和定义函数需要类型,而不是调用函数。
-
while (i >= j)永远不会满足!!试试<=
标签: c