30/09/2018, 19:35 
               
            Hỏi về câu lệnh điều kiện
a Đạt cho e hỏi là cái chỗ:
if (c == ’ ’ || c == ‘
’ || c == ‘	’)
state = 0;
else if (state == 0) {
state = 1;
++nword;
}
cái else if (state == 0) nó hoạt động như thế nào vậy ạ.
int main()
{
    int c, nline, nchar, nword, state;
    nline = nword = nchar = 0;
    state = 0;
    while((c = getchar()) != EOF) {
        ++nchar;
        if (c == '
')
            ++nline;
        if (c == ' ' || c == '
' || c == '	')
            state = 0;
   **     else if (state == 0) {**
**            state = 1;**
            ++nword;
        }
    }
    printf("line	 word	 char
%d	 %d	 %d
", nline, nword, nchar);
    return 0;
}
            Bài liên quan
         
                
            




else là phủ định cái if phía trên. if sau else như là 1 thực thi mới thôi, thêm 1 điều kiện nữa.
nghĩa là else if đó sẽ tương đương
if (!(c == ' ' || c == '\n' || c == '\t') && (state==0))Khi mà state ==0 thì nó sẽ đưa về state = 1, phải không a
Câu lệnh if sẽ thực hiện tuần tự từ trên xuống dưới, rơi vào if nào đúng thì làm, không đúng thì làm phần else.
=> Khi if ở trên sai và state == 0 thì nó sẽ đưa về **state =1 **