Ý nghĩa một câu lệnh có unsigned char trong C

có một chương trình sao:
mọi người cho hỏi ý nghĩa câu lệnh buffer[i++] = (unsigned char) c; trong đó là gì.thanhks.

#include<stdio.h>
void foo() {
  unsigned char buffer[20]="123456789134371234837571275614452182336516375867435617";
  int i=0; int c;
  while ((c = getc(stdin)) != EOF) {
    buffer[i++] = (unsigned char) c;
  }
  buffer[i] = '\0';
  printf("You entered %s\n", buffer);
}

int main() {
  foo();
  return 0;
}

Cái này gọi là ép kiểu (casting).

là sao bạn có thể giải thích rõ hơn không.hoặc dẫn tài liệu

cái này sai ngay từ đầu r, xem thử cái chuỗi 123… bao nhiêu kí tự mà khai báo buffer[20].

1 Like

Bạn xem ở đây:

http://en.cppreference.com/w/cpp/language/explicit_cast

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?