Em có thắc mắc về 2 code này
#include <iostream>
#include <string.h>
using namespace std;
void del (char s[500],int index)
{
int n=strlen(s);
for (int i=index; i<n; i++)
{
s[i] = s[i+1];
}
n--;
}
void delspace (char s[500])
{
//here
int n=strlen(s);
for (int i=0; i<n;i++)
{
if(s[i]==' ' && s[i+1]==' ')
{
del (s,i);
i--;
}
//endhere
}
if (s[0]==' ') del(s,0);
if (s[strlen(s)-1]==' ') del(s,strlen(s)-1);
}
int main()
{
char s[500];
cout<<"Nhap chuoi"<<" ";
gets(s);
delspace (s);
puts(s);
}
#include <iostream>
#include <string.h>
using namespace std;
void del (char s[500],int index)
{
int n = strlen(s);
for (int i=index; i<n; i++)
{
s[i] = s[i+1];
}
n--;
}
void delt (char s[500])
{
//here
int n = strlen(s);
for (int i=0; i<n;i++)
{
if(s[i]==s[i+1])
{
del(s,i);
i--;
}
}
//endhere
}
int main()
{
char s[500];
cout<<"Nhap chuoi"<<" ";
gets(s);
puts(s);
delt (s);
puts(s);
}
Em đánh dấu từ //here đến //in here. Chỗ đó tại sao code trên chạy tốt nhưng code dưới thì lại treo ngay khi vừa nhập chuỗi ạ?


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?