| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 624 人关注过本帖
标题:指针赋值的问题?没分了,大虾们见谅!
只看楼主 加入收藏
dezhengwei
Rank: 2
来 自:东华大学
等 级:论坛游民
帖 子:33
专家分:13
注 册:2008-12-16
结帖率:77.78%
收藏
 问题点数:0 回复次数:6 
指针赋值的问题?没分了,大虾们见谅!
int main()
{
char *p1="name";
char *p2;
p2=(char*)malloc(20);
memset (p2, 0, 20); //
while(*p2++ = *p1++);
printf("%s/n",p2);
}
这个函数,给p2已经开辟了空间,p2没有复制p1呢?
没分了,大家见谅!
搜索更多相关主题的帖子: 赋值 指针 
2009-09-25 16:36
dezhengwei
Rank: 2
来 自:东华大学
等 级:论坛游民
帖 子:33
专家分:13
注 册:2008-12-16
收藏
得分:0 
,自己先顶一下!
2009-09-25 16:43
jimmywood
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:30
专家分:109
注 册:2009-8-10
收藏
得分:0 
p2指向的位置都移到字符串末了 还显示啥...
程序改成下面的就行了  多用一个指针

还有两个问题
1 用malloc申请的内存空间要用free释放
2 转义换行符是 \n 不是/n;
int main()
{
    char *p1="name";  
    char *p2;  
    p2=(char*)malloc(20);  
    char *p3 = p2;
    memset (p2, 0, 20); //
    while(*p3++ = *p1++);  
    printf("%s\n",p2);  
    free(p2);
    return 0;
}
2009-09-25 16:57
nevdongdong
Rank: 2
等 级:论坛游民
帖 子:26
专家分:12
注 册:2009-9-1
收藏
得分:0 
复制的过程是对的...复制完了p2的指针还没回位,如果要显示,把指针移回去就行了
2009-09-25 19:23
dezhengwei
Rank: 2
来 自:东华大学
等 级:论坛游民
帖 子:33
专家分:13
注 册:2008-12-16
收藏
得分:0 
回复 2楼 dezhengwei
很好,很细心!
2009-09-29 12:24
dezhengwei
Rank: 2
来 自:东华大学
等 级:论坛游民
帖 子:33
专家分:13
注 册:2008-12-16
收藏
得分:0 
回复 3楼 jimmywood
很强,很到位
2009-09-29 12:32
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
程序代码:
int main() 
{ 
char *p1="name";  
char *p2;  
p2=(char*)malloc(20);  
memset (p2, 0, 20); // 
while(*p2++ = *p1++);  
printf("%s\n",p2-5);  
} 
指针返回。
2009-09-29 12:55
快速回复:指针赋值的问题?没分了,大虾们见谅!
数据加载中...
 
   



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

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