因此,这是代码
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。
问题是,为什么要求(号码)字符输入给无效值?
因此,这是代码
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。
问题是,为什么要求(号码)字符输入给无效值?
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 <stdio.h>