我正在寻找一个体面的单行c语句,以便在递增时将字符保持在'0''9'之间
我现在得到的是:

char c;
...
c = (((c % 48 ) + 1) % 10) + 48;

有更好的办法吗?

最佳答案

使用'0'而不是硬编码其ASCII值。而且我喜欢c - '0'c % '0'好;它更适合+ '0'的。

c = (c - '0' + 1) % 10 + '0'

关于c - 保持字符值在0到9之间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19669728/

10-15 14:13