C# 查找水仙花数程序闪退解决方案?-灵析社区

ZZZ葡萄皮

c#的三重循环查找水仙花数,但是结果闪退 int a,b,c=0,d; for (a=1;a>9 ;a++ ) { for (b = 9; b < 0; b--) { for (; ; ) { c = Convert.ToInt32(Console.ReadLine()); if (c < 0) { break; } Console.WriteLine(c); if (a * 100 + b * 10 + c == a * a * a + b * b * b + c * c * c) { d = a * 100 + b * 10 + c; Console.WriteLine("水仙花数为{0}", d); Console.ReadLine(); } Console.ReadLine(); } Console.ReadLine(); } Console.ReadLine(); } 尝试加了许多,console.readline();但是结果始终是闪退

阅读量:165

点赞量:0

问AI
如果是 Visual Studio,把这个设置关了。我这是英文版,你如果用的中文版自己按英文意思找下。 "snipaste_2024-04-20_22-46-51.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241001/cd72f328d17ac28dc24aa0ab535e096a.png) 如果不是 VS 再说。另外,"ReadLine()" 放在程序的最后才会在结束前等待,而且还得是在中间没有抛出异常的情况下。 另外,你这个程序,循环条件错了。跟踪一下运行过程会发现根本没进循环去。 "snipaste_2024-04-20_22-53-13.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241001/f3876b6ffbc69d0f4339a4edf028dd20.png) 除了这种方式跟踪,也可以用调试模式,打断点+单步运行的方式来跟踪。 "for (a = 1; a > 9; a++)" 表示 a 初始为 1,但在 "a > 9" 的情况下进入循环……很显然初始值就不满足条件,所以进不到循环。再去学习一下 for 循环该怎么写。