我正在使用Microsoft Visual C#:
Console.Write((char)((int)sentence[i] + random.Next(2) == 0 ? 1 : -1));
我正在尝试Console.Write我在句子[i]的当前索引中的char,但是随机获取上面或下面的char。 但是,相反,我总是得到char'?'。 为什么呢?
答案 0 :(得分:1)
您遇到了运营订单问题。尝试添加括号:
Console.Write((char)((int)sentence[i] + (random.Next(2) == 0 ? 1 : -1)));
没有括号,它正在做:
(句子[i] + random.Next(2))== 0? 1:-1
...你可以看到总是导致1或-1。给定ASCII字符范围,几乎肯定会导致-1,这显然不是可打印的字符,因此?
输出。