反转字符串(输入参数并返回字符串)

时间:2016-01-27 13:48:13

标签: c string reverse

我必须回答这个问题:

  

编写一个反转给定字符串的程序。 (输入参数和返回字符串)

这个问题是否意味着我必须使用命令行参数进行输入?
如果我将一个字符串返回到main函数,返回值将如何工作? 或者这只是一个错误的问题,我应该创建另一个函数并将值返回到main函数中的某个字符串?

3 个答案:

答案 0 :(得分:1)

这个问题意味着你应该实现一个作为程序一部分的函数(实现main调用/测试函数可能是个好主意)。该函数的签名应采用以下形式:

char* reverse(char* str)

虽然你也可以实现(可能有点困难):

void inplace_reverse(char* str)

在我看来,从提出问题的方式来看,没有理由相信你要使用命令行参数。

答案 1 :(得分:1)

  

这个问题是否意味着我必须使用命令行参数进行输入?

它没有指定,但我会因为它使任务更容易。

  

返回值如何工作

同样,问题没有指定,所以我会将其打印到屏幕上(printf)。

  

或者这只是一个错误的问题,我应该创建另一个函数并将值返回到main函数中的某个字符串?

从主函数调用函数将是一个好主意,虽然没有明确指定,但我只能获得信用。

有一点很清楚,他们要求程序,而不只是一个功能,但在我看来两者都是最好的。

答案 2 :(得分:-2)

这意味着两件事:

1-您必须使用以下签名实现一个功能:

char *reverse(const char *str);

2-您必须实现main()函数,该函数将作为参数传递的字符串反转:

int main(int argc, char *argv[]) {
    char *str;

    if (argc < 2) {
        fprintf(stderr, "Usage: %s <string_to_reverse>\n", argv[0]);
        return -1;
    }

    str = reverse(argv[1]);
    printf("%s\n", str);

    return 0;
}