Vòng lặp này hoạt động như thế nào ạ?

int dem1(char *string1)
{
    int kituhientai=0;
    int sokitu=0;
    do
    {
        kituhientai=string1(sokitu);
        sokitu++;
    }while(kituhientai!=\0);
    sokitu--;
return sokitu;
}
int main()
{
    int dem=0,kitu=0;
    char string[]="hello";
    dem=dem1(string);
    printf("so ki tu cua ban la %d",dem);
}

Em muốn hỏi về hoạt động trong vòng lặp ạ !!

1 Like

Code của bạn sai ở 2 dòng này:

 }while(kituhientai!=\0);

 kituhientai=string1(sokitu);

Còn vòng lặp thì nó sẽ lặp đến khi nào gặp kí tự '\0' (kí tự kết thúc chuỗi ) thì sẽ dừng :blush:

Bạn giải thích rõ hơn được không ạ :neutral_face:

Tức là vòng lặp kia lặp đi lặp lại cho đến khi kituhientai ='\0' , kituhientai ở mỗi võng lặp nó sẽ mang giá trị là một kí tự của chuỗi "hello" , cuỗi mỗi chuỗi luôn có một kí tự \0’ để đánh dấu kết thúc chuỗi :blush:

char string[] =)) LLOLOLOLOL

1 Like

nếu dùng \0 thì phải bỏ nháy ‘\0’
hoặc dùng mỗi số 0 thôi cũng được

while( kituhientai != '\0');
while( kituhientai != 0);
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?