所以这是代码
void main()
{
unsigned char n,t;
scanf("%hhu %hhu",&n,&t);
printf("%hhu %hhu",n,t);
}
问题是当我分别输入 5 和 1 时,输出为 0 和 1。n为0 , t为 1 。但是,当我将类型从 char 更改为 int/unsigned 时,输出是正确的:5 和 1。
问题是为什么用 char 询问(数字)输入会给出无效值?
int main(void)
请
scanf("%hhu %hhu",&n,&t);
这里 ---------- ^ ------^ unsigned char *
是预期的
同样的printf("%hhu %hhu",n,t);
所以改变
char n,t;
至
unsigned char n,t;
Besides that it is
int main(void)
at least, you also might like to also add the necessary prototypes by including the appropriate header:
#include <stdio.h>