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

đệ quy printBackward không in phần tử đầu tiên của mảng khi sử dụng toán tử++

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

Tôi muốn in ngược một mảng các số nguyên và phát hiện ra rằng khi sử dụng ++ thay vì "startPos + 1" thì kết quả sẽ mất phần tử đầu tiên của mảng. Tôi đã gỡ lỗi để hiểu vấn đề nhưng đệ quy hoạt động kỳ lạ. Bạn có thể giải thích vấn đề là gì? Cảm ơn bạn rất nhiều.

#include 
#xác định KÍCH THƯỚC 10

void printBackward(const int[], const int size, int startPosition);

int main(void)
{
const int a[SIZE] = {1,3,5,7,9,10,13,15,17,19};
printBackward(a,SIZE,0);
đặt("");
}
void printBackward(const int a[SIZE], const int size, int startPos)
{
if(startPos < kích thước)
{
printBackward(a,size,++startPos); // hoạt động sai với ++startPos
//printBackward(a,size,startPos + 1); // hoạt động bình thường
printf_s("%4d",a[startPos]);
}
}

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

Sẽ bắt đầuPos+1 Đã chuyển sang chức năng không thay đổi bắt đầuPos giá trị. Nhưng,++bắt đầuPos thực tế đã tăng lên bắt đầuPos giá trị. Cả hai không thể thay thế cho nhau.

Về c - đệ quy printBackward không in phần tử đầu tiên của mảng khi sử dụng toán tử++, 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/22623200/

25 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