作者ffxiou (ffxiou)
看板C_and_CPP
标题[语法] 指位器指标输出问题
时间Mon Sep 14 00:42:43 2009
最近在读指位器有个疑问就是
例如有个片段程式如下:
char *ptr[3]={"P","P","T"};
int i;
for(i=0;i<=2;i++)
printf("指位器所对应的位址=%p,指位器所指向的内容为=%s",ptr[i],ptr[i]);
//---------------------程式结束---------------------------
*不是就是指位器所对应的内容值吗?
为什麽指位器所存的内容不是"*ptr[i]",而是"ptr[i]",改成下面就不能跑了
printf("指位器所对应的位址=%p,指位器所指向的内容为=%s",ptr[i],*ptr[i]);
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.64.11.62
1F:→ hilorrk:ptr[0~2]各是一个指向char的pointer 分别指向{'P','/0'}、 09/14 00:52
2F:→ hilorrk:{'P','/0'}和{'T','/0'}(也就是"P"、"P"、"T") 09/14 00:53
3F:→ hilorrk:而printf的%s需要接收一个string 所以应该要给的是ptr[i] 09/14 00:53
4F:→ hilorrk:如果给*ptr[i]的话 就变成是一个char了(ex:*ptr[0]=='P') 09/14 00:54
5F:→ ffxiou:谢谢你的回文 09/14 06:55