求助:strlen()问题
#include <stdio.h>#include <string.h>
main()
{
int i=1;
printf("%d",strlen(&i));
}
在Tc上运行,结果显示1,没错~
当把i=1改为i=257的时候,结果显示7;
但int在我机子的内存上只占四个字节,为什么显示7呢?
我预想的结果是2;
请大家给点提示,谢谢!!!
tc支持的 int是 2个字节把 ...不是4个字节.
嗯,tc中,int只支持两个字节
我当然知道
问题是这样用strlen得到的值有什么意义呢?
我只是想检验一下strlen是怎么样工作的,
可是我想的跟做出来的不一样。
我想知道问题出在哪里?
如果你想这么用也可以,而且你的答案是对的:
具体要看系统是大端与小端的问题,看看下面:http://bbs.bc-cn.net/viewthread.php?tid=179519&star=at#