刚做的一个面试题,感觉情况有好几种
这是代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char s[] = "abcdefg";
char* m = s;
int* n = (int*)s;
char* x = ++m;
int* z = ++n;
printf("%c\n", *x);
printf("%c\n", *z);
return 0;
}
REDHAT 5.0下面结果是:b e
TC 下面结果是:b c
这个和大字节小字节有关?和类型指针移动有关?还和什么有关呢?
[解决办法]
Trubo C 2.0下一个整形2个字节;
GCC下一个整形4个字节.
[解决办法]
只和字节序、数据类型长度有关