Chạy code thấy output mất 1 ký tự cuối của xâu

Em không biet tai sao em lại làm sai ở đoạn nào mà khi chạy thì nó mất 1 ký tự cuối của xâu vậy ạ

#include<iostream>
#include<stdio.h>
#include<conio.h> 
using namespace std;
void xoa(char s[150],int noixoa)
{
	int n=strlen(s);
	for(int i= noixoa;i<n;i++){
		s[i]=s[i+1]; //sua lai xau bang cach lap de rut xau lai de bo kt tai noi co kt can bo 
	}
	s[strlen(s)-1]='\0';
}
void xoakt(char s[150]){
	for(int i=0;i<strlen(s);i++){
		if(s[i]==' '&&s[i+1]==' ') {
		xoa(s,i);//kt tai s[i] va s[i+1] la kt thi sua lai xau tu i
		i--;	}
	}
	if(s[0]==' ') xoa(s,0);
	if(s[strlen(s)-1]==' ') xoa(s,strlen(s)-1);
}
int main(){
	char s[150];
	gets(s);
	xoakt(s);
	puts(s);
}

Bạn xóa nó mất tiêu rồi.

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