2011-10-08 87 views
0

是否有可能用unsigned int终止while()循环?例如,我想在用户输入负值时终止一个while()。但我希望它是任何负值,而不仅仅是-1。使用无符号整数来终止while()循环

+1

什么语言? –

+1

如果value <0 break; – FailedDev

+2

你的'unsigned int'如何存储一个有符号值,比如'-1'? – sarnold

回答

0

不是我认为这是一个好主意,但至少在C语言中,你可以检查你的无符号整数是否大于INT_MAX(对于二进制补码,不太确定符号/幅度和补码变体,但是它们可能非常稀少,以至于在弹出问题之前可以放心地忽略它们)。

这当然假设它是作为一个整数读入并转换为无符号的地方 - 如果您使用只需要无符号数的自定义输入例程,它们可能会在前导-符号出现时出现漏洞。