01/10/2018, 13:40
Dùng con trỏ để tách họ, chữ lót và tên
lÀM SAO ĐỂ CẤP PHÁT ĐỘNG CHO CON TRỎ MÀ KHÔNG BIẾT ĐƯỢC SỐ PHẦN TỬ CHO TRƯỚC(NHẬP TÊN)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
int t1,t2;
int i;
void xacDinh(char *name)
{
for (i=0;i<strlen(name);i++)
if(name[i]==' ')
{
t1=i;
break;
}
for (i=strlen(name)-1;i>=0;i--)
if(name[i]==' ')
{
t2=i;
break;
}
}
void ho(char *name)
{
for(i=0;i<t1;i++)
printf("%c",name[i]);
printf("
");
}
void lot(char *name)
{
for(i=t1+1;i<t2;i++)
printf("%c",name[i]);
printf("
");
}
void ten(char *name)
{
int i;
for(i=t2+1;i<strlen(name);i++)
printf("%c",name[i]);
}
void main()
{
char *name;
printf("Nhap ho va ten cua ban:");
gets(name);
name = (char *)malloc(name*sizeof(char));
xacDinh(name);
printf("Ho cua ban la:");
ho(name);
printf("Chu lot cua ban la:");
lot(name);
printf("Ten cua ban la:");
ten(name);
free(name);
getch();
}
Bài liên quan
Cái chỗ name*sizeof em không biết thay name bằng cái gì
Cái này theo mình có 2 cách: trong C và C++
Viết thuần C thi thớt cứ gọi realloc nói thế chứ có hàm ngăn tràn đấy, và không có đuôi _s.