我必须写一个程序,接受一个字符串输入,然后反转它,所以基本上反转了文本,我还想尝试重用我的一个代码,它有冒泡排序,并且认为它可以工作。
这是我的代码:
#include <stdio.h>
int main(){
int n;
char arr[n];
printf("Input length:\n");
scanf("%d",&n);
printf("Input string:\n");
scanf("%s",&arr);
bsort(arr);
printf("%s",arr);
}
void swap(char *x,char *y){
char temp=*x;
*x=*y;
*y=temp;
}
void bsort(char *arr, int n){
int i, j;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(&arr[j]<&arr[j+1]){
swap(arr[j],arr[j+1]);
}
}
}
}
我不知道是不是把数据类型、运算符或函数都搞混了。当我运行程序时,什么也没有打印出来。我希望能有任何建议。
1条答案
按热度按时间ddhy6vgd1#
我试着用注解来解释这段代码,如果你不想使用string. h,那么你可以要求input输入字符串的长度