gpt4 book ai didi

c - 段错误不一致的C程序

转载 作者:行者123 更新时间:2023-11-30 21:13:04 25 4
gpt4 key购买 nike

我一直在查看C安全性,并一直在查看gets缓冲区,并且大小设置为50,但是为什么要花62个字符才能导致分段错误?

int main(int argc, char **argv)
{
char buffer[50];

test = 1;

gets(buffer);
printf( "the input was:" );
printf( buffer );

}

最佳答案

在C语言中,std函数不受任何限制。如果您阅读的字符少于50个(假设您也使用\0),它不会发牢骚。

具有固定大小的缓冲区很危险。您可以使用malloc类型的函数为缓冲区分配内存。

我建议您通读this book

关于c - 段错误不一致的C程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58575037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com