搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 这段程序为什么不对
标题:
这段程序为什么不对
取消只看楼主
longxies
等 级:
新手上路
帖 子: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
等 级:
新手上路
帖 子:113
专家分:0
注 册:2007-11-14
第
2
楼
得分:0
p是a[10]的指针,给p赋值就是给a赋值,它的值存于a中,p="123456789";,赋值并没错啊!!
2008-02-02 15:54
longxies
等 级:
新手上路
帖 子:113
专家分:0
注 册:2007-11-14
第
3
楼
得分: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
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-199251-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.181827 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved