Nisy 发表于 2008-11-12 08:54:29

C语言的一道测试题

.
看一下大家对格式输入输出的理解

如图 输入 4294967295 并输入

给出源码即可

5PYB的奖励哦/:014

Nisy 发表于 2008-11-12 08:57:16

main()
{
        long a;
        scanf("%?",&a);
        printf("%?",a);
}

这样也可以 理解了关键点的输出 就理解了数据在内存中的保存形式和内存中数据的意义

数据在内存中没有任何意义 只是在被使用的时候要进行语言的格式匹配

frozenrain 发表于 2008-11-12 09:59:59

没人捧场 应该是认为太简单了吧/:L
都给出答案了 5PYB赚不到了/:011

asdfslw 发表于 2009-3-1 23:33:35

#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

前进动力 发表于 2009-3-2 14:52:04

为什么一定用数字表示呢?
使用字符串变量保存不就没那个问题了

hzezcbc 发表于 2009-3-5 12:10:30

这也发啊?

Nisy 发表于 2009-3-11 09:38:41

TC2.0

main()
{
        unsigned long int a=4294967295;
        printf("%lu",a);
}

前进动力 发表于 2009-3-14 20:46:59

用字符串来保存不是可以嘛?
就不用考虑变量的最大长度
页: [1]
查看完整版本: C语言的一道测试题