gpt4 book ai didi

c - 回文程序

转载 作者:太空宇宙 更新时间:2023-11-04 00:32:20 24 4
gpt4 key购买 nike

我创建了一个程序,它接受输入的字符串并反向输出字符串。我创建了一个函数来计算字符串中的字符数。有了这些信息,我创建了另一个函数,将原始数组的第一个字符放在新数组的末尾。因此,当函数中的循环完成时,新数组包含原始数组的字母,但向后。但是我遇到了一些困难。我仍然对字符数组持谨慎态度,我不确定我是否正确使用了它们。有人可以帮帮我吗?

#include <stdio.h>

#define MAXLINE 1000

char backward(char str[], int count)
int count(char str[])

int main() {
char orig[MAXLINE];
int c;

scanf("%s", orig);
c = count(orig);
printf("%s", backward(orig, c));

return 0;
}

char backward(char str[], int count) {
char back[MAXLINE];
int i;

for(i = 0; i <= count; ++i) {
back[count] = str[i];
--count;

return back;
}

int count(char str[]) {
int i;

for (i = 0; str[i] != '\0'; ++i)
;

return i;
}

编辑:输入:让我们说“小型货车”。预期输出将是“navinim”。目前还没有实际输出。我收到此错误:

palindrome.c:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’

最佳答案

你得到的错误是因为你的原型(prototype)是错误的:

#include <stdio.h>

#define MAXLINE 1000

char backward(char str[], int count) /* missing ; */
int count(char str[]) /* missing ; */

int main() {

您还应该考虑更换 count()strlen(3)来自 <string.h>头文件。标准库中充满了经过调试且已知运行良好的实用程序——值得使用它们。 (是的,重新实现它们具有教育值(value)。但在那种情况下,请准备好使用各种极端情况进行测试。)

关于c - 回文程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9106295/

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