gpt4 book ai didi

c++ - 分配的动态内存总是被删除?

转载 作者:行者123 更新时间:2023-11-27 22:58:47 25 4
gpt4 key购买 nike

我不明白,我有一个 switch 语句,让用户创建动态分配的内存,显示所有列表,最后删除它们(案例 3,打印在下面。)

当我在程序中选择案例 3 并输入“y”或“Y”以外的任何内容时,它仍然会删除列表,我不明白为什么...

如果有人可以帮助我,我将不胜感激:

    case 3:
cout << "Which list did you want to delete?" << endl
<< "List: ";
cin >> i;
i--;
if (dynArray[i] == NULL){
noListExist();
break;
}
else
printoutAllLists(dynArray[i], arraySize[i], i);
cout << "Are you sure? ('y' or 'n'):" << endl
<< "Confirm: ";
cin >> j;
if (j == 'y' || 'Y'){
delete[] dynArray[i];
dynArray[i] = NULL;

}
else
break;

break;

最佳答案

if (j == 'y' || 'Y') 

始终为真,因为 || 的右侧,即 'Y' 是一个非零值,它在 j 时被计算> 不等于 'y'

使用:

if (j == 'y' || j== 'Y')

可能还有一些错误,也有内存泄漏的可能

关于c++ - 分配的动态内存总是被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29785032/

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