這是一個稍微修改的答案,我遇到了我在此問的一個前一個問題。當有些奇怪的事情發生時,我正在改變它來更好地理解它。爲什麼添加大括號到最裏面的循環給出這樣奇怪的結果?
在C#中的循環都應該以這種方式工作:
for (initial increment value, end increment value, increment rate)
{
// for loop body
}
答案代碼我似乎工作,但不具有圍繞最內層的環括號。下面的代碼:
using System;
class Prime_Screening
{
static void Main()
{
Console.WriteLine("Prime numbers x, where: 0 < x < 100");
bool prime;
for (int num = 2; num <= 100; num++)
{
prime = true;/
for (int div = 2; div <= Math.Sqrt(num); div++)
// Why isn't the contents of this for loop in braces? Attempting it produces a weird output
if(num % div == 0)
prime = false;
if (prime)
Console.Write(num.ToString() + ", ");
}
}
}
我加括號到for循環,這樣我可以保持代碼的清晰,但我得到了一些奇怪的重複輸出:
5,7,9,11,11,13 ,13,15,17,17,17,19,19,19,21,23,23,23,25,25,25,27,29,29,29,29,31 ... 93,95,95 ,95,97,97,97,97,97,97,97,97,99,
爲什麼?雖然我們正在討論這個問題,但是如果陳述也是大括號的呢?
編輯:拼寫/語法
爲您的代碼執行自動格式化。這將糾正縮進,原因將立即變得清晰。 – ths 2014-08-29 20:43:49
在Visual Studio中,在該文件中的某處鍵入Ctrl + K,Ctrl + D。 – 2014-08-29 20:49:24
我在Notepad ++中這樣做,所以這可能是爲什麼格式不清晰。 – 2014-08-29 21:02:09