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

c - 将字符串 "Hello World"反转为 "World Hello",有什么问题吗?

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

Tôi đang cố gắng thay đổi "Xin chào thế giới" thành "Xin chào thế giới". Nhưng mã không hoạt động theo cách tôi muốn. Vui lòng xem mã bên dưới:

#include
#include
#include
cấu trúc llnode
{
char *thông tin;
struct llnode *next;
};

typedef struct llnode NODE;

int main()
{
thông điệp char[50],word[10],*str;
int i=0,length=0,j=0;
NÚT *ptr,*front=NULL,*temp,*last=NULL;

//printf("Nhập câu: ");
str= "Xin chào thế giới"; //fgets(msg,sizeof(msg),stdin);

while(str[i]!='\0')
{
if((str[i]==' ')||(str[i]=='\n'))
{
từ[j]='\0';
j=0;
ptr=(NODE *)malloc(sizeof(NODE));
ptr->thông tin=từ;
ptr->next=NULL;

nếu(trước==NULL)
{
front=ptr; // chỉ thay đổi giá trị của front ở đây;
}
khác
{
nhiệt độ = phía trước;
while((temp->next)!=NULL)
{
temp=temp->next;
}
tạm thời->tiếp theo=ptr;
}
printf("\n##%s\n",front->info); // in các từ và không
// từ đầu tiên
}
khác
{
từ[j]=str[i];
j++;
}
i++;
}

nhiệt độ = phía trước;
trong khi (tạm thời)
{
chiều dài++;
printf("%s",temp->info);
temp=temp->next;
}
printf("\nĐộ dài của Danh sách Liên kết (hoặc số từ): %d\n",length);

tôi=0;
printf("\n************************\n");

trong khi(i<độ>
{
nhiệt độ = phía trước;
while(temp->next!=last)
{
temp=temp->next;
}
cuối cùng = tạm thời;
printf("%s",temp->info);
i++;
}

return 0;
}

Cảm ơn

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

Có nhiều vấn đề với mã:

Bạn đang sử dụng một mảng từ duy nhất để đọc tất cả các từ. Vì vậy, khi bạn đọc "Xin chào", bạn đọc trong mảng từ, in "##Xin chào" và lưu con trỏ tới mảng từ dưới dạng front->info. Sau đó, bạn ghi đè mảng từ bằng World. Ngoài ra, hãy lưu ý rằng bạn không bao giờ nên thêm nút có từ "World" vì vòng lặp sẽ thoát ngay khi gặp "\0". Do đó, danh sách liên kết của bạn chỉ chứa một nút. Tuy nhiên, có một vấn đề, do bạn lưu con trỏ tới mảng word ở nút đầu tiên, và do mảng word đó đã bị "world" ghi đè nên khi bạn thoát khỏi vòng lặp, chỉ còn một nút trong danh sách và Thông tin cho nút này là một mảng các từ, chứa "World" thay vì "Hello" như trước. Vì vậy, tôi đoán điều này giải thích đầu ra?

Về c - đảo ngược chuỗi "Xin chào thế giới" thành "Xin chào thế giới", bạn có câu hỏi nào không? , 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/9123762/

27 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