小端和大端c程序
有人能告诉我我是否正确地执行了以下程序吗?它应该根据机器是Little endian还是Big endian打印大小小端和大端c程序,c,C,有人能告诉我我是否正确地执行了以下程序吗?它应该根据机器是Little endian还是Big endian打印大小 #include <stdio.h> int main() { int x = 1; unsigned char *c = (char*)&x; if (*c) printf("Little"); else printf("Big"); return 0; } #包括 i
#include <stdio.h>
int main()
{
int x = 1;
unsigned char *c = (char*)&x;
if (*c)
printf("Little");
else
printf("Big");
return 0;
}
#包括
int main()
{
int x=1;
无符号字符*c=(字符*)&x;
如果(*c)
printf(“小”);
其他的
printf(“大”);
返回0;
}
代码几乎正确:
- 您应该将
转换为&x
(无符号字符*)&x
- 您应该在
或Little
之后Big
一个尾随printf
'\n'
- 您可以通过去掉
来简化代码c
- 让它更简单:去掉
并使用三元运算符if
- 您应该将
转换为&x
(无符号字符*)&x
- 您应该在
或Little
之后Big
一个尾随printf
'\n'
- 您可以通过去掉
来简化代码c
- 让它更简单:去掉
并使用三元运算符if
- 我的笔记本电脑“很小”:
#包括
int main(){
int x=1;
无符号字符*c=(无符号字符*)&x;
printf((*c)-“小的”:“大的”;
返回0;
}
我的笔记本电脑“很小”:
#包括
int main(){
int x=1;
无符号字符*c=(无符号字符*)&x;
printf((*c)-“小的”:“大的”;
返回0;
}
在我看来很不错,除了你可能想把它转换成一个无符号字符*
。你能解释一下吗哈哈,对不起,我对C不是很在行@VaughnCatoI投票结束这个问题,因为它属于CodeReviewPedanticy,如果(*c==1)printf(“Little”),更好的代码应该是;else printf(“不小”)
在我看来很不错,除了你可能想把它转换成一个无符号字符*
。你能解释一下吗?哈哈,对不起,我对C不是很在行@VaughnCatoI投票结束这个问题,因为它属于CodeReviewPedanticy,如果(*c==1)printf(“Little”),更好的代码应该是;else printf(“不小”)代码>
#include <stdio.h>
int main(){
int x = 1;
unsigned char *c = (unsigned char*) &x;
printf( (*c) ? "Little\n" : "Big\n");
return 0;
}