ant*_*age -5 c conditional-statements
这两者在逻辑上是相同的,但它们的工作方式不同:
if (e >='A' && e <= 'Z')
Run Code Online (Sandbox Code Playgroud)
和
if('A' <= e <= 'Z')
Run Code Online (Sandbox Code Playgroud)
第一行代码正常,但第二行不正常.为什么?
<=运算符是左关联的,所以你的第二个实际上是
if( ('A' <= e) <= 'Z')
Run Code Online (Sandbox Code Playgroud)
'A'<= e是一个bool,它将是0或1,所以我相信你的陈述相当于:
if (0 <= 'Z')
Run Code Online (Sandbox Code Playgroud)
要么
if (1 <= 'Z')
Run Code Online (Sandbox Code Playgroud)