
Nguyên bản được gửi bởi
Fhuy
#include <conio.h>
#include <stdio.h>
#include <string.h>
main()
{ int i,dem=0;
char name[100];
for(i=0;name[i]!='\0';)
{ printf("\nname=%c",name
[i
]);
while(name[i]==' '||name[i]=='\t') //no chay toi day thi khong hieu j nua!
{
i++;
}
while(name[i]!=' '&&name[i]!='\t')
{
i++;
}
dem++;
}
getch();
}
Vấn đề nằm ở đoạn code này
Code:
while(name[i]!=' '&&name[i]!='\t')
{
i++;
printf("\nname=%s",name[i]);
}
+ Hình như bạn quên mất thằng '\0'
+ i++ ở đây không sai.Nhưng nó sẽ dẫn đến việc là dòng cuối cùng sẽ in ra mang ký tự rỗng
+ 1 Lỗi sai cơ bản ơ đây nữa là name[i] là 1 char mà bạn lại bắt thằng printf xuất ra 1 xâu(%s) thì đúng là chơi khó nó rồi
Tôi sửa lại đoạn code trên như sau
Code:
while(1)
{
++i;
if(name[i]=='\0')
{
break;
}
printf("\nname=%c",name[i]);
}