gpt4 book ai didi

c - 冒泡排序程序 C

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:08 25 4
gpt4 key购买 nike

编写一个函数,当作为 bubble_string(s) 调用时,会导致字符串 s 中的字符进行冒泡排序。如果 s 包含字符串“xylophone”,则以下语句应导致打印 ehlnoopxy。我得到的错误是: 10.4.c: In function main':
10.4.c:3:警告:数据定义没有类型或存储类
10.4.c:在函数
main'中:10.4.c:8:错误:“char”之前的语法错误10.4.c:在函数“bubble_string”中:10.4.c:17: 错误:')' 标记前的语法错误10.4.c:18: 错误:')' 标记前的语法错误

关于如何解决这个问题有什么想法吗?

已更新

代码:

#include <stdio.h>
void swap (char*, char*);
bubble_string(char s[]);

int main(void)
{
char *s= "xylophone";
printf("%s", bubble_string(char *s));

return 0;
}

bubble_string(char s[])
{
char i, j, n;
n = strlen(s);
for(i = 0; i < n - 1; ++i)
for(j = n - 1; j > 0; --j)
if(s[j-1] > s[j])
swap(&s[j-1], &s[j]);
}

最佳答案

在其他问题中,您声明 bubble_string 不返回值(通过给它返回类型 void ),然后您继续在 printf 语句中使用它,就好像它返回了一个值一样。 (至少这就是你编辑之前的样子......你现在的方式,它将默认返回一个 int,但你使用它就好像它是一个字符串,你实际上并没有从 bubble_string 返回任何东西。 )

此外,您的 for 循环语法也有偏差。外循环应该是更像是:

for(i=0; i < n-1; i++) {/* et cetera */}

关于c - 冒泡排序程序 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5683758/

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