01/10/2018, 15:34

Ý 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] = '';
  printf("You entered %s
", buffer);
}

int main() {
  foo();
  return 0;
}
HK boy viết 17:43 ngày 01/10/2018

(unsigned char) c;

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

Luân Võ Thành viết 17:47 ngày 01/10/2018

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

Alone viết 17:35 ngày 01/10/2018

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].

HK boy viết 17:45 ngày 01/10/2018

Bạn xem ở đây:

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

Bài liên quan
0