gpt4 book ai didi

无法使用字符串将 'main' 转换为 'void' 函数

转载 作者:行者123 更新时间:2023-11-30 21:42:39 25 4
gpt4 key购买 nike

#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] = '\0';

printf("Original is %s, reversed is %s\n", originalStr, reversedStr);
}

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

事实上,我无法理解 void 之间的区别和main .

最佳答案

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

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

关于您的问题,您应该将用于反转字符串的代码移动到一个单独的函数中,并为其提供原型(prototype):

#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] = '\0';
}

int main(void) {
String originalStr = "mail";
String reversedStr;
reverseString(originalStr, reversedStr);
printf("Original is %s, reversed is %s\n", originalStr, reversedStr);
}

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

关于无法使用字符串将 'main' 转换为 'void' 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36101552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com