| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 964 人关注过本帖
标题:这段程序为什么不对
取消只看楼主 加入收藏
longxies
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2007-11-14
收藏
 问题点数:0 回复次数:2 
这段程序为什么不对
main()
{
 char a[10],*p=a;
 p="123456789";
 printf("%s",a);
}
p是a的指针,给p赋值就是给a赋值为什么输出乱码呢?
搜索更多相关主题的帖子: 赋值 main char printf 
2008-02-01 10:28
longxies
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2007-11-14
收藏
得分:0 
p是a[10]的指针,给p赋值就是给a赋值,它的值存于a中,p="123456789";,赋值并没错啊!!
2008-02-02 15:54
longxies
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2007-11-14
收藏
得分:0 
[bo]以下是引用 [un]雨中飞燕[/un] 在 2008-2-2 19:26 的发言:[/bo]


你错了,p="123456789"在语法上是可以的,
"123456789"相当于一个数组名,
p = 数组名; 就是把数组首地址给p
但要注意,a的内容并没有变

谢谢我明白了
程序中我先后用了两个p=a,p="123456789"相当于给p指针变量副了两次值,a[10]我只是定义了没赋值是吗???

[[it] 本帖最后由 longxies 于 2008-2-2 20:10 编辑 [/it]]
2008-02-02 20:05
快速回复:这段程序为什么不对
数据加载中...
 
   



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

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