下面的函数将输出什么结果?
const char *s = "abcdef";
show_bytes((byte_pointer) s, strlen(s));
其中字母'a'~'z'的ASCII码为0x61~0x7A。
show_bytes()函数定义如下:
#include <stdio.h> typedef unsigned char *byte_pointer; void show_bytes(byte_pointer p, int n)
{
int i;
for(i = ; i < n; ++i)
{
printf(" %.2x", p[i]);
}
printf("\n");
}
将输出:61 62 63 64 65 66
在使用ASCII码作为字符码的任何系统上都将得到相同的结果,与字节顺序和字大小规则无关。因而,文本数据比二进制数据具有更强的平*立性。