![]() |
1
10
因为你在使用
另外,您指定的代码几乎总是返回一个空值
编辑:我看到你修好了。 |
![]() |
2
9
你的问题实际上是计算机科学中最深刻最有趣的问题之一。这个问题被称为暂停问题:给定一个程序的问题,决定它是否总是返回或永远运行。 停顿问题是著名的,因为它是可以证明的。 计算机无法解决 .没有一种算法能够可靠地告诉您给定的程序是否停止。你可以证明这样一个程序要么(1)给出错误的答案,(2)不能分析所有程序,要么(3)它本身有时从不停止。 因此,C编译器不会试图解决暂停问题。相反,我们只是检测到“while(true)”和缺少中断意味着循环永远不会“离开底部”,因此方法的终点是不可到达的。实际上,错误“并非所有代码路径都返回值”是什么? 方法 是否“存在退出方法但不返回值的代码路径”。它确实 不 意思是“有一条永远运行的代码路径”——因为计算出来需要解决暂停问题。 |
![]() |
3
1
编译器很聪明,可以优化循环。它知道唯一的出路是在
|
![]() |
4
1
除非你有 无限深度 或者 环 这段时间将永远持续下去。 所以要么循环被卡住,要么在某个时刻父循环将为空。它永远不会进入,因为它不会结束。 |
![]() |
5
1
编译器意识到函数将返回
如果函数不返回,则不需要考虑返回值。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |