Đây là câu hỏi mới bắt đầu, nhưng xin vui lòng chịu đựng với tôi. Tôi muốn chuyển một char * vào một hàm, và có nó, với nội dung của nhiều chuỗi hiện có. Dưới đây là những gì tôi có (và không hoạt động)Điền thông số đầu ra C
int func(char *out) {
int i;
int x = 10;
int y = 10;
char array[x][y];
out = malloc(x * y + x);
memset(out, 0x00, strlen(out));
for (i=0; i<x; i++) {
strcat(out, array[i]);
strcat(out, "\n");
}
}
//main
char *result;
func(result);
Hãy hiển thị mã thực tế của bạn - ví dụ này thậm chí sẽ không biên dịch. –
Cần biên dịch ngay bây giờ, cảm ơn. –
Bạn không thể sử dụng 'strlen (out)'! Đọc những gì 'strlen' làm (hoặc cách chuỗi C hoạt động, cho vấn đề đó). Thay vào đó, bạn cần phải nói 'x * y + x'. Và hoàn toàn chắc chắn rằng mọi 'mảng [i]' đều bị vô hiệu. –