| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 487 人关注过本帖
标题:简单的指针问题
只看楼主 加入收藏
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
结帖率:70%
收藏
 问题点数:0 回复次数:1 
简单的指针问题
#include<stdio.h>
#include<string.h>
int getNumber(char*p)
{
    int len=strlen(p);
    *p='0';
    printf("%s\n",p);
    return 0;
}
void main()
{
     char *a="[123]";
     int i=getNumber(a);
     printf("%d\n",i);
     system("pause");
     }
在上面的代码中函数getNumber会出现内存错误,但如果把char *a="[123]";改为char a[10]="[123]";就没错这个是为什么?
搜索更多相关主题的帖子: 指针 
2008-12-05 20:49
jdh99
Rank: 2
来 自:南师大
等 级:论坛游民
威 望:1
帖 子:59
专家分:15
注 册:2008-11-7
收藏
得分:0 
char *a="[123]"中的123放在常量区,是不允许改的. 所以*p='0';进行的赋值操作就会产生错误

作鲲鹏,遨游于天地沧海
2008-12-05 21:30
快速回复:简单的指针问题
数据加载中...
 
   



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

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