#include<stdio.h>
#include<conio.h>
#include<string.h>
main(){
char *c;
char *y;
int len=strlen(c);
int i,k=0,j,m=0,t;
clrscr();
printf("Enter the string :");
gets(c);
printf("%s",c);
for(i=0;i<=len;i++)
{
if(c[i]==' '|| c[i]=='\0')
{
for(j=i-1;j>=m;j--)
{
y[k]=c[j];
k++;
}
y[k]=' ';
m=k;
k++;
}
}
y[len]='\0';
for(i=0;i<len;i++)
printf("%c",y[i]);
getch();
}
Эта программа предназначена для перестановки слов в строке, которую я пытаюсь в течение длительного времени. Я думаю, что написанная мной логика верна, и я каждый раз получаю разные результаты ...
несколько раз вывод предыдущего выполнения будет добавляться в следующий вывод.
может кто-нибудь сказать мне, где ошибка
иногда я получаю правильный вывод с пропуском одной буквы.
еще одна вещь, которую я добавляю, когда я печатаю напрямую "y как массив, который он приходит, если я пытаюсь дать как указатель, он не приходит
я имею в виду
Е ( "% s", у); // вывод идет не правильно
для (I = 0; я
я хочу знать точную разницу