gpt4 book ai didi

c - 使用外部函数反转字符串

转载 作者:行者123 更新时间:2023-11-30 18:24:59 27 4
gpt4 key购买 nike

我最近开始了一门 C 语言编程类(class)。我收到了一项作业,我将使用以下声明创建一个外部函数:void reverse(char *array, int numberOfChars)

我的代码现在看起来像这样。问题是代码只会反转单词的前半部分,并保持后半部分正常。

#include <stdio.h>
#include <string.h>

void reverse(char *array, int numberOfChars) {
int i = 0;
int j = 0;

for (i = numberOfChars - 1; i >= 0; i--) {
array[j] = array[i];
j = j + 1;
}
}

#define NAMESIZE 100

int main() {
char word[NAMESIZE];
int length;

printf("Enter a word: ");
scanf("%s", word);
getchar();

length = strlen(word);
reverse(word, length);

printf("%s\n", word);
}

最佳答案

即使您使用中间变量,您的代码也会将字符串反转两次,保持原样。对代码的一个小改动是将 ij 进行比较,并使用临时变量进行交换。

int i, j = 0;
char temp;
for(i = numberOfChars-1; i > j; i--){
temp = array[j];
array[j] = array[i];
array[i] = temp;
j = j + 1;
}

关于c - 使用外部函数反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34161191/

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