#include "stdio.h"
#include "conio.h"
union longtochar
{
    char ch[4];
    int iKey;
};
typedef union longtochar _LTC;main()
{
    int iloop;
    _LTC  ltcKey;
    ltcKey.iKey= 5310;
    for (iloop = 0;iloop < 4;iloop++)
    {
        ltcKey.ch[iloop] = ltcKey.ch[iloop]&0x1f;
        printf("%i\n",ltcKey.ch[iloop]);
    }
    getch();
}
其中会打印出
30
20
3
18
请问java该如何实现?结果也是30 20 3 18

解决方案 »

  1.   

    楼主,你发的是c/c++的代码,在java板块有几个人能看懂?
    你好歹也加点注释嘛,或者直接讲需求也可以啊。
      

  2.   

    换成java输出了...
    21
    19
    17
    16我C语言太差了=。=
      

  3.   

    你机器是unix/linux吗? 我用win-tc调试,得到的那个结果
      

  4.   

    希望C语言和java都牛比的人来解答
      

  5.   

    编译器不一样,结果还不一样啊,真TM的fuck!不过无所谓,谁能明白这段C代码,并转换成Java代码啊?
      

  6.   

    据说,在同一环境下,ch[4] 1-4内存是随机分配的,但ltcKey.iKey= 5310;定了,内存也就定了,输出结果也就一样的。
    我也不明白C怎么这样,java初始可都是0啊,哪有什么随机分配啊,头疼...
      

  7.   


    class Main
    {
        char[] ch;
        int iKey;    public static void main(String[]args)
        {
         Main l=new Main();
         l.ch=new char[4];
         l.iKey=5310;
         int iloop;
         for (iloop = 0;iloop < 4;iloop++)
         {
         l.ch[iloop] = (char) (l.ch[iloop]&0x1f);
         System.out.print(l.ch[iloop]);
         }
        }
    }
      

  8.   

    我不是这个意思,你这样写输出结果全是0,我之前说了,char[] c = new char[4] c[i]都是0
      

  9.   

    给联合体对象的属性赋值一个int型和一个长度4的char数组
    再逐行按有符号十进制形式打印char数组元素久违了C语言,数组元素初始值是0吧?
      

  10.   

    我在简化一下,能用java实现下列代码就行
    #include "stdio.h"
    #include "conio.h"main()
    {
        int i;
        char c[4];
        for (i = 0;i < 4;i++)
        {
            printf("%i\n",c[i]);
        }
        getch();
    }
      

  11.   

    我问的重点是java里有没有类似char c[4];没有初始化,但c[i]都是不定值的情况
      

  12.   

    有图有真相,我的也是这个输出结果,我用的是window xp加VC 6.0
      

  13.   

    据我所知,java的默认值都是固定的,可知的
      

  14.   

    clang 1.1 
    gcc 4.4.0
    vc2008 express (Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86)Windows XP 输出都是
    30
    20
    0
    0
      

  15.   

    这么问吧,给出一个int型数,比如5310 ,给他分成四个128以内的数,注意 不是随机的,通过这四个数不管如何计算,最后能得到5310
      

  16.   

    c中的 union 怎么转换到 Java