C++ 为什么我的cout语句带有“quot;”&引用;不在“后”进入“其他”部分:&引用;
我的cout语句遇到了一个问题,它使用了一个条件三元运算符,但没有打印出来 这是我的main中的打印行:C++ 为什么我的cout语句带有“quot;”&引用;不在“后”进入“其他”部分:&引用;,c++,xcode,conditional-operator,C++,Xcode,Conditional Operator,我的cout语句遇到了一个问题,它使用了一个条件三元运算符,但没有打印出来 这是我的main中的打印行: cout << "Enter name to be removed from the list: " << endl; cin >> targetName; cout << targetName << (list.deleteNode(targetName) ? " - deleted!" :
cout << "Enter name to be removed from the list: " << endl;
cin >> targetName;
cout << targetName << (list.deleteNode(targetName) ? " - deleted!" : " - not found!") << endl;
示例输出:
Delete [Y/N]?Y
Enter name to be removed from the list:
Aaa
Aaa
输出应该是“Aaa-未找到!”,但它只打印出输入,程序不会退出。如果您有任何关于解决此问题的建议,我将不胜感激。谢谢大家 这个问题听起来更像是列表中有一个循环,
deleteNode()
永远不会返回。还请发布您的addNode()
代码。您是否尝试在调试器中逐个语句地检查代码语句,同时监视变量及其值?同样,对于列表之类的内容,我建议您从纸和笔开始,并使用节点矩形和链接箭头(指针)绘制列表。执行操作时擦除并重新绘制箭头。我还建议您在调试时执行此操作,每次跨过语句更改指针时,都要在纸上执行相应的操作。我注意到,在删除头时,您没有更新返回
指针。现在是头部的节点有一个悬空的背部
指针(可能是)。可能是它导致了与您的问题相关的UB,如果不是它,将来可能会导致问题。打印或三值运算符没有问题。问题可能在别的地方
Delete [Y/N]?Y
Enter name to be removed from the list:
Aaa
Aaa