gpt4 book ai didi

c - 对字符数组进行冒泡排序

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

我写了下面的代码来对一个字符串进行冒泡排序。它正在显示垃圾值。

main() {
int n, j, k;
char a[20], temp;
// statements to scan the number of items (n) and the string a[n].

for (j = 1; j < n; j++) {
for (k = 0; k < n - j; k++) {
if (a[k] >= a[k+1]) {
temp = a[k];
a[k] = a[k+1];
a[k+1] = a[k];
}
}
}
printf("The sorted items are: %s",a);
}

可能是什么问题?

最佳答案

在某些旧的 C 编译器中,您无法比较字符。一个简单的解决方案是类型转换。至于你的代码,

main()
{
int n,j,k;
char a[20], temp;
//statements to scan the number of items (n) and the string a[n].

for(j=1; j<n; j++)
{
for(k=0; k<n-j; k++)
{
if((int)a[k]>=(int)a[k+1])
{
temp=a[k];
a[k]=a[k+1];
a[k+1]=temp;
}
}
}
printf("The sorted items are: %s",a);
}

请注意,通过类型转换,您是在比较字符的 ASCII 值。

关于c - 对字符数组进行冒泡排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27263300/

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