![]() |
1
0
temp[]的这个定义用一个字符(字节)0初始化它。复制c[j]时,将c[j]的所有字节复制到内存中,从temp开始。如果c[j]有超过1个字符,则不属于temp的额外内存将被覆盖,并且很可能是函数的本地堆栈帧。 编译器在调试模式和报告中对此进行检查-请参阅 Run-Time Error Checks 和 Stack Allocation . 如果在堆栈上分配太多,就会出现堆栈溢出! |
![]() |
2
1
从你提到的代码中很少观察到。 首先,这里
第二,内部气泡排序
|
![]() |
3
0
没有足够的缓冲区存储作为临时变量。您需要知道给定字符串的最大长度,并在堆栈上分配足够的内存。如果您不知道这一点,那么另一个选项是堆上的动态分配。 |
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |