#include<conio.h>
#include<stdio.h>
int main(void)
{
int i,j,temp;
char str[]="geeksforgeeks";
for(i=1;str[i];i++)
{
for(j=0;str[j]!='\0';j++)
{
if(str[j]>str[j+1])
{
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
for(i=0;str[i]!='\0';i++)
{
printf("%c",str[i]);
}
}
Я хочу, чтобы это было сделано без вычисления длины строки. Поскольку я знаю, что ошибка находится в условии утверждения цикла for, тогда скажите мне, что это должно быть?Bubble sort on string
Ошибка! 'if (str [j]> str [j + 1])' является UB для последнего элемента. –
Вы также должны предоставить примерный тестовый пример (ввод и вывод). Или, если сбой кода говорит нам об ошибке! Это поможет лучше понять, что не так :) –
В настоящее время очень неясно, что вы спрашиваете, и что вы пытаетесь сделать. Объясните, что вы пытаетесь сделать, что не так, и почему вы знаете, что это неправильно. Тогда задайте ясный вопрос. Вы создадите гораздо большую готовность помочь, сделав это, потому что все мы хотим помочь, но мы не хотим тратить навсегда выяснение того, что вы хотите. – Dan