我必须回答这个问题:
编写一个反转给定字符串的程序。 (输入参数和返回字符串)
这个问题是否意味着我必须使用命令行参数进行输入?
如果我将一个字符串返回到main函数,返回值将如何工作?
或者这只是一个错误的问题,我应该创建另一个函数并将值返回到main函数中的某个字符串?
答案 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;
}