如同诚心对待上帝一样诚心求教!!!!!基础问题

isfirestar isfirestar 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
很基础的问题,小羊已经手上无分可送,请各位大虾不吝赐教,以下两个字符串究竟哪里不同了?为什么C写的结果会那么异常呢?
用标准库的函数当然没问题,我很想知道下面这个函数到底怎么个不对法,谢谢.
/*结果:
string:ABCDE烫烫烫誊? length:15 size:5
string:ABCDE length:5 size:5
*/
#include <stdio.h>
#include <conio.h>
#include <string.h>

void foo_forc()
{
char buf[5];
int nChar=0x41;
memset(buf,0,5);
for(int i=0;i<5;i++)
{
buf[i]=(char)nChar;
nChar++;
}
printf("string:%s\tlength:%d\tsize:%d\n",buf,(int)strlen(buf),sizeof(buf));
getch();
}

void foo_forasm()
{
char buf[5];
__asm
{
lea edi,buf
mov eax,41h
mov ecx,05h
lo:
mov [edi],eax
inc eax
inc edi
loop lo
}
printf("string:%s\tlength:%d\tsize:%d\n",buf,(int)strlen(buf),sizeof(buf));
getch();
}

void main()
{
foo_forc();
foo_forasm();
}


...全文
评论 2
收藏 已收藏
分享
返回顶部
isfirestar
C++ 语言 65,214 成员 250,514 内容