有人可以帮我这个忙吗?你们大多数人都熟悉一个C代码,它检查机器的字节序。
如果它在RISC-V机器上运行会产生什么结果?
代码如下:
#include <cstdio>
int main()
{
int x = 1;
char* p = (char*)&x;
printf("%d\n",(int)*p);
return 0;
}
答案 0 :(得分:1)
该程序在任何平台上均有效。
对于小端计算机或 1
== sizeof (int)
的计算机,输出为sizeof (char)
。对于所有其他平台,它将为0
。
由于RISC-V是低位优先的,因此输出应为1
。