What will be the output of the following C code?
4 phương ánCó giải thích
#include <stdio.h>
void main()
{
int i = 10, j = 3, k = 3;
printf("%d %d ", i, j, k);
}Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "10 3". Hàm printf nhận số đối số thay đổi nên nó không kiểm tra số lượng lúc dịch; chính chuỗi định dạng quyết định lấy ra bao nhiêu giá trị. Ở đây chuỗi chỉ có hai đặc tả nên printf lấy i và j, in 10 rồi 3 kèm khoảng trắng, còn k vẫn được tính nhưng bị bỏ qua hoàn toàn. Chuẩn C cho phép truyền thừa đối số; chỉ truyền thiếu mới là hành vi không xác định. Lựa chọn "Compile time error" sai vì thừa đối số nhiều lắm chỉ bị cảnh báo, và dạng main trả về void dù phi chuẩn vẫn được nhiều trình dịch nhận. Lựa chọn "10 3 3" đòi chuỗi định dạng phải có ba đặc tả. Lựa chọn "10 3 somegarbage value" hiểu sai cơ chế: đối số thừa không bị in ra dưới dạng rác, nó chỉ nằm lại trong vùng tham số và không ai đọc tới.
Cùng phần 6
(Choose 1 answer)
What will the code bellow print when executed?
double a = -7.5, b = 7.5;
printf( "%.0f : %.0f\n", ceil( a ), ceil( b ) );
printf( "%.0f : %.0f\n", floor( a ), floor( b ) );Có lời giảiCâu hỏiWhat is the returned type of the sqrt() function from the math.h library in C?Có lời giảiCâu hỏiThe function islower() returns a non-zero value if a character is:Có lời giảiCâu hỏiCả 28 câu của chủ đề28 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây