Poll: Kiểm tra kiến thức C - 1.6

Các bạn thảo luận đáp án nhé, bài test lấy từ http://www.indiabix.com/online-test/c-programming-test/11

6.Which of the statements is correct about the program?

#include<stdio.h>

int main()
{
    float a=3.14;
    char *j;
    j = (char*)&a;
    printf("%d\n", *j);
    return 0;
}
  • A. It prints ASCII value of the binary number present in the first byte of a float variable a.
  • B. It prints character equivalent of the binary number present in the first byte of a float variable a.
  • C. It will print 3
  • D. It will print a garbage value

Bài này Đạt chọn B, không biết đúng không. Phân tích như sau

  • A. Sai, vì ở đây lệnh printf dùng %d không phải %c
  • B. Đúng, vì cấu trúc của float khác với int
  • C. Sai, vì cấu trúc của float khác với int
  • D. Sai

Bài này có nói về cách biểu diễn của float, tiếc là không có tiếng Việt

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