C语言的scanf函数中,关于unsigned型变量所需的数据,可以用%u,%d,或者%o,%x格式输入,这句话怎么理解

2024-11-23 06:27:36
推荐回答(4个)
回答1:

unsigned 表示无符号数
int i;
scanf("%d",&i);则你输入的数字,电脑认为是10进制。
scanf("%x",&i);则你输入的数字,电脑认为是16进制。
scanf("%o",&i);则你输入的数字,电脑认为是8进制。
只要你输入的是自然数,都无所谓。

回答2:

unsigned无符号修饰符,输出时可以用
%u,%d,或者%o,%x
等格式,
其区别在于:
%u,无符号方式,符号位按照数据位处理
%d,整数方式
%o,8进制方式
%x,16进制方式

回答3:

就是你输入的时候可以
%u 无符号十进制
%d 十进制
%o 八进制
%x 十六进制
unsigned int a
scanf("%u\n",&a);
scanf("%d\n",&a);
scanf("%x\n",&a);
scanf("%o\n",&a);
意思是这几种表示方法都可以

回答4:

%u 才是最正常的
%d, %o, %x 是先变成int,再变成unsigned