使用char和scanf“%hhu”时输入值无效
所以这就是代码
void main() { unsigned char n,t; scanf("%hhu %hhu",&n,&t); printf("%hhu %hhu",n,t); }
问题是当我分别输入5和1时,输出为0和1. 0表示n ,1表示t 。 但是,当我将类型从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;
除此之外
int main(void)
至少,您还可以通过包含适当的标题来添加必要的原型:
#include