| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 819 人关注过本帖
标题:执行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
快速回复:执行sprintf()函数后,发现指针p值改变!
数据加载中...
 
   



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

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