#define NULL 0 void main() { char **p; char *name[]={"hello","good","world","bye","\0"}; p=name+1; printf("%o,%s\n", *p,*p); p+=2; while(**p!=NULL) printf("%s\n",*p++);
getch(); /* 请不要删除此行 */ }
谁能告诉我:输出结果为什么不是:*p的地址和*p的字串.
我知道怎么让它出来,却不好解释?
[此贴子已经被作者于2004-11-04 08:32:55编辑过]
----------------解决方案--------------------------------------------------------
应该是一个地址,加上good bye哦?
----------------解决方案--------------------------------------------------------
结果就是一个地址,和good
bye 啊
----------------解决方案--------------------------------------------------------
#define NULL 0 void main() { char **p; char *name[]={"hello","good","world","bye","\0"}; p=name+1; /* printf("%o : %s", *p,*p);*/ printf("%o,%s\n", *p,*p);//问题出在这一行.*p到底存了些什么? p+=2; while(**p!=NULL) printf("%s\n",*p++);
getch(); /* 请不要删除此行 */ }
----------------解决方案--------------------------------------------------------
我在mytc中运行了,结果是 地址, bye,没有good的
----------------解决方案--------------------------------------------------------
在线的,版主们,看看
----------------解决方案--------------------------------------------------------
#define NULL 0 void main() { char **p; char *name[]={"hello","good","world","bye","\0"}; p=name+1; //p指向name[1],即指向good printf("%o,%s\n", *p,*p);//前一个打印name[1],后一个打印地址为name[1]的字符串 /* p+=2; */这句将p指向bye,等于p=name[3]; while(**p!=NULL) printf("%s\n",*p++);
getch(); /* 请不要删除此行 */ }
----------------解决方案--------------------------------------------------------
我想知道你运行后的结果是什么?
有good吗?
----------------解决方案--------------------------------------------------------
有
----------------解决方案--------------------------------------------------------
有?
真不明白,我怎么运行也没有good,
结果是256:
bye
到底怎么了?
我用的是mytc。你呢?
----------------解决方案--------------------------------------------------------