What does the following code do?
4 phương ánCó giải thích
int a = 5, b = 7;
int *pa = &a, *pb = &b;
*pa = *pa + *pb;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: "Adds values at addresses a and b". Con trỏ thứ nhất trỏ vào a, con trỏ thứ hai trỏ vào b, nên hai phép lấy nội dung chính là hai ô nhớ đó. Dòng lệnh đọc nội dung của cả hai ô, cộng lại rồi ghi tổng trở lại vào ô mà con trỏ thứ nhất trỏ tới, vì vậy a thành 12 còn b vẫn là 7. Toàn bộ việc diễn ra trên dữ liệu được trỏ tới, không có con trỏ nào bị gán lại. Lựa chọn "Swaps the values" sai vì đổi chỗ cần một biến tạm cùng hai phép gán, còn ở đây b không hề bị ghi. Lựa chọn "Stores the address of b in a" sai vì muốn vậy phải gán con trỏ này bằng con trỏ kia hay gán cho a địa chỉ của b, trong khi dòng lệnh chỉ làm việc với nội dung sau dấu sao. Lựa chọn "Multiplies both numbers" sai vì toán tử trong biểu thức là dấu cộng, không phải dấu nhân.
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 2 bộ đề
Đi tiếp từ đây