比如VC
----------------解决方案--------------------------------------------------------
如果你想这么用也可以,而且你的答案是对的:
具体要看系统是大端与小端的问题,看看下面:http://bbs.bc-cn.net/viewthread.php?tid=179519&star=at#
关键是tc的int是两字节,所以出错
就相当于下面这段代码一样
char country[5]={'c','h','i','n','a'};
strlen(country);
[此贴子已经被作者于2007-10-26 23:31:21编辑过]
----------------解决方案--------------------------------------------------------
问题出在哪里见你自己回帖的6楼
想检验strlen是怎么工作的就请用字符串来验证
谢谢你的提示,我先没有检验大小端的影响。
我刚才又试了一下:
#include <stdio.h>
main()
{
int i[2]={257,0};
printf("%d",strlen(i));
}
这里输出是2
#include <stdio.h>
main()
{
int i=257;
printf("%d",strlen(&i));
}
这里输出是7
是不是第二段代码i=257,257两个字节后面的5个字节内存里有其他数据呢?
----------------解决方案--------------------------------------------------------
谢谢你的提示,我先没有检验大小端的影响。
我刚才又试了一下:
#include <stdio.h>
main()
{
int i[2]={257,0};
printf("%d",strlen(i));
}
这里输出是2
#include <stdio.h>
main()
{
int i=257;
printf("%d",strlen(&i));
}
这里输出是7
是不是第二段代码i=257,257两个字节后面的5个字节内存里有其他数据呢?
you got it!
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
tc支持的 int是 2个字节把 ...不是4个字节.
对,tc支持int就2个字节,vc6.0才是4个
----------------解决方案--------------------------------------------------------