黑马程序员技术交流社区

标题: 求大神帮忙找下错误,纠结了好久了 [打印本页]

作者: 雪寒    时间: 2014-11-3 11:55
标题: 求大神帮忙找下错误,纠结了好久了

  1. #include <stdio.h>

  2. int main()
  3. {
  4.         char *p = "abc";
  5.         printf("%s",*p);
  6. }
复制代码

这段代码,编译没问题,运行的时候就崩溃了,求解
作者: zhao190109    时间: 2014-11-3 12:04
    你是要输出abc么    第七行改下  printf("%s",&*p);
作者: 雪寒    时间: 2014-11-3 12:09
zhao190109 发表于 2014-11-3 12:04
你是要输出abc么    第七行改下  printf("%s",&*p);

嗯,这下没问题了,我把它改成printf("%s",p);也是可以的,可是为什么只要个首地址就可以输出了呢?
作者: doudou33420    时间: 2014-11-3 16:18
视频里面讲数组的时候讲了数组在内存中存储方式...  你看一下就明白为什么了...  不然 你定义一个数组 直接输出数组名就能把所有内容输出出来  这回你又得疑问了
作者: chenhuan_ccit    时间: 2014-11-3 17:47
数组在内存中是连续的,数组名存储的事首个元素的地址,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2