半字节限制为 0-9

Nibble Restriction to 0-9

各位程序员大家好,

int main() 诠释 n;

scanf("%d", &n ,);
printf("nibble =  %d%d%d%d", (n/8)%2, (n/4)%2, (n/2)%2 , n%2 );

return 0;}

到目前为止,我已经构建了这段代码,该代码将十进制值转换为半字节。

有效,但我对如何将输入限制为 0-9 有疑问, 不使用 if 语句。有没有可能做到这一点,如果怎么做? 目前代码使用 0 - 15 decimals.And 你能给我举个例子或解释一下以便我理解吗。

谢谢!

不使用条件是不可能的

但是请告诉我们如果输入大于 9 的小数,您的程序应该做什么?

scanf("%d", &n ,);
if ((n>=0) && (n<10))
  printf("nibble =  %d%d%d%d", (n/8)%2, (n/4)%2, (n/2)%2 , n%2 );
else
  printf("err: input out of range");