幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2166|回复: 1

[通用编程] 二级指针与指针数组

[复制链接]

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
发表于 2007-9-5 23:37:08 | 显示全部楼层 |阅读模式

char *str[]={"abc d"};
char **p;
p=str;
为什么不能printf("%s",p);将其打印出来,只能通过for(i=0;i<5;i++) printf("%c",*(*p+i));[s:8]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复

使用道具 举报

19

主题

842

帖子

1万

积分

⑧专业

絕望青年,一起增高吧

积分
13676
发表于 2007-9-6 08:52:02 | 显示全部楼层
printf中的 %s要求輸入的是string格式,也就是一直提著的char* 格式,p是char**,一個要求char*,一個輸入char**,掛掉是必然
*(*p+i) 這個其實相當混亂
其意義跟*(p[0]+i),p[0]變成char*(輸入Index等同降級),char* + int ->char*(因為指標是long),再dereference變成char,和%c要求的char吻合

為著彼岸,便要與之妥協 但為著彼岸,更不能與之妥協

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-2 17:29 , Processed in 0.018746 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表