无效的输入值,而使用焦炭和scanf“%HHU”(Invalid input value while

2019-10-17 23:21发布

因此,这是代码

void main()
{
  unsigned char n,t;
  scanf("%hhu %hhu",&n,&t);
  printf("%hhu %hhu",n,t);
}

问题是,当我分别输入5和1时,输出为对于t 0和1 0 n和1。 然而,当我从炭为int /无符号改变的类型,输出是对按预期:5和1。

问题是,为什么要求(号码)字符输入给无效值?

Answer 1:

int main(void) ,请

scanf("%hhu %hhu",&n,&t);

这里---------- ^ ^ ------ unsigned char *预期

对于相同printf("%hhu %hhu",n,t);

这样的变化

char n,t;

unsigned char n,t;



Answer 2:

此外,这是

int main(void) 

至少,你也可能想也包括适当的头添加必要的原型:

#include <stdio.h>


文章来源: Invalid input value while using char and scanf “%hhu”
标签: c input char scanf