我想将inta 转换char[4]为char[4]包含十进制值2的每个字节.所以在下面的例子中:
int p = 2999999;
Run Code Online (Sandbox Code Playgroud)
转换p到相同的阵列k,其中k通过被构造:
char k[4];
k[0] = 2;
k[1] = 99;
k[2] = 99;
k[3] = 99;
Run Code Online (Sandbox Code Playgroud)
我怎么能在C中这样做?
提前致谢!
对我来说这是一个奇怪的问题,但还可以.这就是我要做的事情:
p以便以后可以使用(我假设此转换不打算更改其值).p以便能够读取下两位数字.如此完整的答案是:
#include <stdio.h>
int main()
{
int p = 2999999;
char k[4];
int p_copy = p;
int i;
for(i = 3; i >=0; i--)
{
k[i] = p_copy % 100;
p_copy /= 100;
}
for(i = 0; i < 4; i++)
printf("k[%d]: %d\n",i, k[i]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为了理智输出:
gonczor@wiktor-papu:~/tmp$ gcc test.c -o test
gonczor@wiktor-papu:~/tmp$ ./test
k[0]: 2
k[1]: 99
k[2]: 99
k[3]: 99
Run Code Online (Sandbox Code Playgroud)