sách gpt4 ăn đã đi

Ký tự * lỗi truy cập kém

In lại Tác giả: Walker 123 更新时间:2023-11-30 18:49:34 26 4
mua khóa gpt4 giày nike

我试图掌握指针的概念,但无法掌握它的窍门。为什么此代码将正确的值分配给 S ,但是当我尝试在 t 上使用它时会产生运行时错误。

#include 
#include

int main(void)
{
char *s;
char *t;

printf("s: ");
scanf("%s", s);

printf("t: ");
scanf("%s", t);

trả về 0;
}

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

您必须为字符指针动态分配内存,否则它将无法工作。未初始化的指针有垃圾。

//a macro to hold the size of the array.

#define DIM 12

char *s = malloc(sizeof(char) * DIM);
char *t = malloc(sizeof(char) * DIM);

printf("s: ");
scanf("%s", s);

printf("t: ");
scanf("%s", t);

使用完内存后,不要忘记从堆中释放内存。

free(t);
free(s);

如果您不想在堆上分配内存,则可以使用 char 数组,在使用 scanf 后无需释放该数组:

char t[DIM];
char s[DIM];

关于字符 * 错误访问错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42475822/

26 4 0
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