這裏的基本問題,只是好奇編寫一個簡單的公式,並想知道是否有可能使用除法運算符的增量在c#for循環?在for循環中的分區增量?
使用INT X,想通過一些編號Y反覆分裂X直到X < =一些數Z.
爲(X = 0; X < = Z; X/Y)? //在這裏,我在X/Y處拋出一個錯誤,同樣用(X/Y)拋出錯誤。
這裏的基本問題,只是好奇編寫一個簡單的公式,並想知道是否有可能使用除法運算符的增量在c#for循環?在for循環中的分區增量?
使用INT X,想通過一些編號Y反覆分裂X直到X < =一些數Z.
爲(X = 0; X < = Z; X/Y)? //在這裏,我在X/Y處拋出一個錯誤,同樣用(X/Y)拋出錯誤。
我想你的意思是x = x/y
。 x/y
對它本身沒有任何用處,雖然它至少在C和C++中是有效的語法,但我不確定C#不會允許它。
但是你要記住,你有你的條件「低音ackward」 (一) :-)這個條件必須滿足的循環來繼續,不終止。
所以,如果你的意思是(因爲你狀態) 「... 直到 X < =一定數量Z」,循環應該是:
for (x = 0; x > Z; x = x/Y)
在任何情況下,由於在零x
開始,零除零(除零之外)爲仍爲零,x
的值永不改變。我懷疑你打算以更大的值開始x
,因爲你正在用除法運算符減小它,並且當它下降到特定值以下時想要終止。
(一)說實話,我不知道爲什麼,這句話是如此受歡迎。這是顯而易見的首音誤置的意思的事情都是圍繞錯誤的方式,但是,腐敗就我有限的解剖學知識去,我敢肯定的一**被應該是向後:-)
的for
循環中的最後一個段通常用於更改循環變量(通常遞增或遞減)。所以,x++
(這是x = x + 1
)增加x
。 x/y
不會更改x
(或y
,並且不是有效的C#語句)。你可以做x /= y
這將編譯。
在增量部分,應該是聲明。 like,x = x/y
/=是分部增量算子。
x /= 2;
在功能上等同於
x = x/2;
應罰款使用它。
// changing x = 1 in example code, as per discussion below this comment
for (x = 1;x <= z;x /= y)
{
//whatever
}
當然可以,但除了別人所指出的關於實際重新分配x
:
x
開始在0
,它永遠不會改變所以你最終會得到:
for(var x = max_x; x > min_x; x /= y)
謝謝,夥計們。那樣做了。 ] –