cuốn sách gpt4 ai đã làm

c: style: thay đổi các biến tại chỗ

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 01:37:29 26 4
mua khóa gpt4 Nike

Hãy nói rằng chúng ta có một cái gì đó như

int f(int n);

....

LÀM{
int a = b;
int b = f(a);
}

Có rủi ro gì khi nói điều này không?

LÀM{
int b = f(b);
}

Thay vào đó, giả sử rằng a không được sử dụng ở nơi khác? Về mặt phong cách thì có nên làm cái trước không?

câu trả lời hay nhất

Điều quan trọng là phải hiểu rằng bạn không "thay đổi" bất kỳ biến nào ở đây, chỉ là ý nghĩa của các tên.

Khái niệm quan trọng được gọi là điểm khai báo .

Hãy xem ví dụ của bạn:

int b = 42;
{
int a = b;
int b = 23 * a;
printf("%d\n", b);
}
printf("%d\n", b);

hoặc

int b = 42;
{
int b = 23 * b;
printf("%d\n", b);
}
printf("%d\n", b);

Tên b đề cập đến hai đối tượng, hãy gọi chúng là b1 và b2 tùy thuộc vào vị trí của bạn trong mã. Điều này không có gì đáng ngạc nhiên trong trường hợp 1:

int b1 = 42;
{
int a = b1;
int b2 = 23 * a;
printf("%d\n", b2);
}
printf("%d\n", b1);

Vì điểm khai báo trong C làtrước bộ khởi tạo, vì vậy ví dụ thứ hai phân tích cú pháp khác nhau:

int b1 = 42;
{
int b2 = 23 * b2;
printf("%d\n", b2);
}
printf("%d\n", b1);

Lưu ý rằng không có liên kết nào giữa b1 và b2 ở đây, bạn đang khởi tạo b2 với giá trị (không xác định) của chính nó. Một trình biên dịch siêng năng sẽ cảnh báo bạn về điều này, ví dụ:

xc:7:13: cảnh báo: 'b' được sử dụng chưa được khởi tạo trong hàm này [-Wuninitialized]

Về c: style: thay đổi biến tại chỗ, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12000563/

26 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress