Assume we have a snippet code in C:
4 phương ánCó giải thích
int main() {
int *p = NULL;
printf("%d",p);
getchar();
return 0;
}The output will be:
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: "0". Hằng con trỏ rỗng trong thực tế được mọi trình dịch phổ thông hiện thực bằng giá trị số 0, nên p mang giá trị 0 và lệnh in cho ra 0. Cần nói rõ phần khuyết của mã: đặc tả số nguyên chờ một int mà nhận con trỏ, đây là sai khớp định dạng và là hành vi không xác định theo chuẩn; nó chỉ cho kết quả như mong đợi vì giá trị bên trong con trỏ rỗng đúng là 0. Cách viết đúng là dùng đặc tả con trỏ và ép sang con trỏ vô kiểu. Lựa chọn "1" không ứng với gì ở đây vì không có phép tăng nào trên p. Lựa chọn "10" sẽ đúng nếu p được gán giá trị 10, nhưng mã chỉ gán hằng con trỏ rỗng. Lựa chọn "100" cũng vậy, không có phép tính nào trong mã sinh ra con số đó.
Cùng phần 5
What will be the output of the following C code?
#include <stdio.h>
void main()
{
int *ptr, a = 10;
ptr = &a;
*ptr += 1;
printf("%d,%d\n", *ptr, a);
}Có lời giảiCâu hỏi(Choose 1 answer)
What is the output of this C code?
#include <stdio.h>
#include <conio.h>
int main() {
int n = 267, *pn = &n;
char* pc = pn;
*pc = 0;
printf("n = %d", n);
return 0;
}Có lời giảiCâu hỏiWhat will be the output of the C program?
int arr[5] = { 2, 3, 5, 4, 7 };
int *ptr = (&arr + 1);
printf("%d %d\n", *(arr + 1), *(ptr - 1));Có lời giảiCâu hỏiCả 41 câu của chủ đề41 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây