c语言 - 无法将'main'转换为带有字符串'void'函数


#include <stdio.h>
#include <string.h>
typedef char String[80];
int main() {
    String originalStr = "mail";
    String reversedStr; 
    int index;
    int len = strlen(originalStr);
    for (index = 0; index < len; index++) { 
        reversedStr[index] = originalStr[len - index -1];
    }
    reversedStr[index] = ''; 
    printf("Original is %s, reversed is %sn", originalStr, reversedStr);
}

我想知道如何修改main函数以将void函数与原型一起使用:void reverseString(String originalStr, String reversedStr);

事实上,我无法理解voidmain之间的区别。

在深入了解 C 语言之前,您必须学会正确缩进代码。 它将使您的代码可读并防止许多愚蠢的错误。

我重新格式化了您发布的代码,看看它是如何完成的。

关于您的问题,您应该将用于反转字符串的代码移动到一个单独的函数中,您将获得原型:

#include <stdio.h>
#include <string.h>
typedef char String[80];
void reverseString(String originalStr, String reversedStr) {
    int index;
    int len = strlen(originalStr);
    for (index = 0; index < len; index++) { 
        reversedStr[index] = originalStr[len - index - 1];
    }
    reversedStr[index] = ''; 
}         
int main(void) {
    String originalStr = "mail";
    String reversedStr; 
    reverseString(originalStr, reversedStr);
    printf("Original is %s, reversed is %sn", originalStr, reversedStr);
}

函数是编程语言中的基本块,用于将功能分解为较小的可重用步骤。 请注意,函数中的originalStrreverseStr是函数参数的名称。它们是函数的本地。 从main传递的值恰好通过构造具有相同的名称,但这不是必需的。 从一本好的教程书中了解更多信息。

相关内容

  • 没有找到相关文章

最新更新