小编Chr*_*ood的帖子

分配c-string的元素

我正在尝试对c-string进行冒泡排序 - 请参阅下面的函数.目的是根据ASCII码对字符进行排序.

编译器在运行时不会抱怨,此时我会遇到分段错误.我运行了gdb,程序运行正常,直到第12行.在第12行,gdb调试器声明'Process gdb-inferior killed'.

为什么第12行不正确?我在程序的其他地方遇到过这个问题 - 无法将字符分配给c字符串的元素.我知道strcpy()需要字符串赋值,但是对于特定的元素,我认为它没问题.任何帮助很多人赞赏.

    1. void bubblesort(char *str)
    2. {
    3.   int length = strlen(str);
    4.
    5.   for (int i = length - 1; i > 0; i--)
    6.     {
    7.       for (int j = 0; j < i; j++)
    8.         {
    9.           if (str[j] > str[j + 1])
    10.            {
    11.              char temp = str[j + 1];
    12.              str[j + 1] = str[j];
    13.              str[j] = temp;
    14.            }
    15.         }
    16.     }
    17. …
Run Code Online (Sandbox Code Playgroud)

c element c-strings variable-assignment bubble-sort

1
推荐指数
1
解决办法
57
查看次数

标签 统计

bubble-sort ×1

c ×1

c-strings ×1

element ×1

variable-assignment ×1