标题:执行sprintf()函数后,发现指针p值改变!
只看楼主
河边
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-8-6
 问题点数:0 回复次数:2 
执行sprintf()函数后,发现指针p值改变!

pCustomerNode p=first;
if(p==NULL)
{

return;
}
while(p!=NULL)
{

sprintf(inform,"用户ID: %d, 用户状态: %s,用户密码 %d,用户注册时间 %d:%d",
p->numID,p->state,p->sectet,p->CustomerTime.hour,p->CustomerTime.min);

MessageBox(0,inform,"打印信息:",MB_OK);//可在此处加一断点观察指针p发生改变(与执行sprintf()函前相比)
p = p->next;

}

如上部分程序,执行sprintf()函数后,发现指针p值改变,当然此时还没执行到p = p->next;很是奇怪,难道sprintf()函数在捣鬼?其他程序执行完全没问题!
请教各位指导!


搜索更多相关主题的帖子: sprintf 指针 函数 inform 
2007-05-13 20:03
河边
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-8-6
得分:0 
问题已经解决!
主要原因是对字符变量inform 申请的空间太小,改为inform[70]或更大就OK!

2007-05-14 14:25
byebye12
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2004-11-22
得分:0 

这样啊
好的

2007-05-14 16:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-139115-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.077243 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved