30/09/2018, 16:02

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

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/112

10.If char=1, int=4, and float=4 bytes size, What will be the output of the program ?

#include<stdio.h>

int main()
{
    char ch = 'A';
    printf("%d, %d, %d", sizeof(ch), sizeof('A'), sizeof(3.14f));
    return 0;
}
  • A. 1, 2, 4
  • B. 1, 4, 4
  • C. 2, 2, 4
  • D. 2, 4, 8
Nguyễn Minh Dũng viết 18:06 ngày 30/09/2018

Câu này dễ òm hehe

Sẵn quảng cáo

Đăng ký khóa học C++ cơ bản 2016 ( NEW ) tại đây : Thông tin về khóa học xem tại đây : -Sự khác biệt giữa 2 khóa học cũ và mới : +Khóa học C++ cơ bản 2016 là khóa học mới, được đầu tư nhiều hơn từ nội dung, phương pháp học, cách học hiệu quả. +Trong khóa học còn có nhiều kiến thức mới như thực hành trên HackerRank, thực hành trên Codefights và Đạt nghĩ mọi người nên học khóa học mới, bởi vì đây là kiến thức mới, phù hợp với hiện tại..... Mặt khác âm thanh cũng tốt hơn nhiều so với khóa học …

Đỗ Trung Quân viết 18:03 ngày 30/09/2018

Câu này dễ òm hehe

1,4,4 sai à nha. 1,1,4 hehehe

Nguyễn Minh Dũng viết 18:14 ngày 30/09/2018

sizeof(‘A’)

Cái này C nó không coi là char đâu, nó chỉ coi đó là một con số thôi. Sau đó nó tự động ép kiểu về kiểu int => 4 bytes

Đỗ Trung Quân viết 18:12 ngày 30/09/2018

Sao thế nhỉ. Em dùng devC và nó không hề ép kiểu về int. Nó trả về giá trị 1b kiểu char luôn :-s. Hay trình biên dịch này nó vậy nhỉ :-w

Nguyễn Minh Dũng viết 18:15 ngày 30/09/2018

Em thử với http://ideone.com/ xem sao? Đáng lẽ ra phải ép kiểu về int. Có thể compiler của DevC không chuẩn

Đỗ Trung Quân viết 18:08 ngày 30/09/2018

1-4-4 thật. Trường em dùng cái này để dạy C vs C++ mà. Tại sao nó lại nghĩ là kiểu int nhỉ. Hay nó tính theo bảng mã asii. Ký tự A = 65 tương đương với 4 bytes?

Nguyễn Minh Dũng viết 18:04 ngày 30/09/2018

‘A’ = 65, 65 là một con số thôi. Trình biên dịch không biết nó là kiểu gì, char thì ít quá. Thôi thì mặc định là int.

Đỗ Trung Quân viết 18:14 ngày 30/09/2018

Thôi thì mặc định là int.

Lại còn có cả thôi thì mặc định nữa hả a ~.~. Em lại nghĩ 65 nó là số kiểu int thì đáp án = 4 =)

Nguyễn Minh Dũng viết 18:06 ngày 30/09/2018

à, thực ra có một khái niệm về món ép kiểu này. Khi nó là số nguyên, nhỏ hơn MAX_INT thì sẽ được ép kiểu về int, lớn hơn thì nó ép về long hoặc long long.

Rubi Lynk viết 18:04 ngày 30/09/2018

mình cũng như bạn ra 1,1, 4

Lê Đình Huy viết 18:17 ngày 30/09/2018

mình tính ra 1,4,4 . và kq của codeblock cũng là 1,4,4 .

Nguyễn Đức Minh viết 18:15 ngày 30/09/2018

Em dùng Dev-C kết quả bình thường 1 4 4 mà.

Bài liên quan
0