Em không hiểu sao cái code C này của em nếu em ko chèn thêm kí tự space vào cuối mảng nhập vào thì không ra đúng kết quả. Em đã tự fix bằng thêm hàm strcat(arr," ")
sau khi nhập chhuooix rồi nhưng không hiểu sao lại phải thêm vậy. Mong các anh giúp đỡ ạ. Em cảm ơn ạ.
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
int main(){
//khai bao bien
int i=0,k=0,maxx;
char arr[10000];
char max[1000]={'\0'};
gets(arr);
strcat(arr," ");//chen them dau space vao sau chuoi
//max= chuoi dau tien
while((int) arr[i] == 32){
i++;
}
while((int ) arr[i] != 32){
max[k]=arr[i];
i++;
k++;
}
//xet trong arr
while(arr[i]!='\0'){
if( ( int ) arr[i] == 32 && isalnum( arr[i+1]) ){//tim tu trong arr
int j=i+1,index=0;
char tmp[1000]={'\0'};
//gan tu ra mang tmp
while( !isspace(arr[j])){
tmp[index]=arr[j];
index++;
j++;
}
tmp [ index ] = '\0' ;//cat duoi tmp
if ( (int) strlen(tmp) > (int) strlen(max) ) {
strcpy( max , tmp );
}
}
i++;
}
puts(max);
return 0;
}