求一个简单c语言程序

2025-06-22 01:21:22
推荐回答(3个)
回答1:

楼主你好!

我觉得你问的问题不正确!int a=12 34 56 78这里不应该是十进制的,应该是十六进制的才对!正确的是int a=0x12 34 56 78这样才对!

我可以明确的告诉,要知道它的存储方式得分为大端机和小端机两种!

小端机:整数逻辑上的最低字节放在内存的最低地址,次低字节放在内存的次低地址,依次存放,比如0x12 34 56 78(16进制数)放在内存中就是78 56 34 12。Intel的x86系列cpu就是小端机。

大端机:与小端机刚刚相反。比如,0x12 34 56 78放在内存中就是12 34 56 78。PowerPC、SUN的SPARC、摩托罗拉 6800是大端机。

 

下面是我用小端机电脑写的验证程序

#include

int main(){

 int a = 0x12345678;

 char *p;

 p=(char *)&a;

 for(int i=0;i

 printf("%x ",*p);

 return 0;

}

 

希望我的回答对你有帮助!

回答2:

好多这样的问题。就是判断大小端。
int a = 1;
int getBigOrLittle(int *arg)
{
char *pc = arg;
if(*pc == 1)
{
return 1;
}
else
{
return 0;
}
}

回答3:

你这个定义就错了吧,又不是定义数组,怎么写成这样呢。