C语言的一道测试题
.看一下大家对格式输入输出的理解
如图 输入 4294967295 并输入
给出源码即可
5PYB的奖励哦/:014 main()
{
long a;
scanf("%?",&a);
printf("%?",a);
}
这样也可以 理解了关键点的输出 就理解了数据在内存中的保存形式和内存中数据的意义
数据在内存中没有任何意义 只是在被使用的时候要进行语言的格式匹配 没人捧场 应该是认为太简单了吧/:L
都给出答案了 5PYB赚不到了/:011 #include <stdio.h>
int main()
{
long x;
scanf("%u", &x);
printf("%u\n", x);
return 0;
}
实际上,x在内存中的形式为0xFFFFFFFF。
作为无符号数输出,则为2^32-1,即4294967295;
作为有符号数输出,则为-1(0xFFFFFFFF是-1的补码)。/:014 为什么一定用数字表示呢?
使用字符串变量保存不就没那个问题了 这也发啊? TC2.0
main()
{
unsigned long int a=4294967295;
printf("%lu",a);
} 用字符串来保存不是可以嘛?
就不用考虑变量的最大长度
页:
[1]