What is output?
void main()
{
int ints[] = { 0, 1, 2, 3 };
int* i1 = ints + 1;
int a = ++*i1;
int b = a + *i1;
printf("%d\n", b);
getch();
}
void main()
{
int ints[] = { 0, 1, 2, 3 };
int* i1 = ints + 1;
int a = ++*i1;
int b = a + *i1;
printf("%d\n", b);
getch();
}
Chính xác
Xem lời giải
Suy nghĩ trả lời câu hỏi trước khi xem đáp án
ATNETWORK
Lời giải:
Báo saii1 = ints+1, i1 sẽ trỏ tới phần tử thứ 2 của mảng ints[] và *i1 = 1.
Lệnh ++*i1 = ++(*i)1, lệnh này sẽ thay đổi giá trị tại vùng nhớ mà i1 trỏ tới (sau khi lệnh này được thực hiện,*i1 = 2 hay nói cách khác ints[] = {0,2,2,3}. Xem hình vẽ:
Câu hỏi này thuộc ngân hàng trắc nghiệm dưới đây, bấm vào Xem chi tiết để làm toàn bài
400 Câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải chi tiết
Tổng hợp câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
ADMICRO
YOMEDIA
ZUNIA9