鱼C论坛

 找回密码
 立即注册
查看: 2123|回复: 9

指向指针的指针

[复制链接]
发表于 2020-7-6 11:34:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在学习 指向指针的指针 的时候遇到了问题

#include <stdio.h>

int main()
{
        char *cBooks[]={
        "<C程序设计语言>","<c专家编程>","<c和指针>","C陷进与缺陷","<C Primer Plus>","<带你学C带你飞>"
    };
       
    char **byFishC;
    char **jiayuLoves;
    int i;

    byFishC = &cBooks[5];
    jiayuLoves = &cBooks[1];
//    jiayuLoves[1] = &cBooks[1];
//    jiayuLoves[2] = &cBooks[2];
//    jiayuLoves[3] = &cBooks[3];

    printf("FishC出版的图书有:%s\n",*byFishC);
        printf("小甲鱼喜欢的图书有:%s\n",*jiayuLoves);
    printf("小甲鱼喜欢的图书有:%s\n",*(&cBooks[1]));
    printf("小甲鱼喜欢的图书有:\n");

       
//    for(i=0;i<4;i++)
//    {
//        printf("%s\n",*jiayuLoves[i]);
//    }

    return 0;
}

运行结果:

FishC出版的图书有:<带你学C带你飞>
小甲鱼喜欢的图书有:
小甲鱼喜欢的图书有:
小甲鱼喜欢的图书有:

在 小甲鱼喜欢的图书有:    这一栏显示空白。
不知道是什么原因
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-7-6 11:35:44 | 显示全部楼层
将 jiayuLoves = &cBooks[1]; 改成jiayuLoves = &cBooks[5];
在  小甲鱼喜欢的图书有:    这一栏显示<带你学C带你飞>。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-6 11:39:38 | 显示全部楼层
  1. printf("小甲鱼喜欢的图书有:\n");
复制代码

你也没写要打印啥呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-6 11:41:36 | 显示全部楼层
qiuyouzhi 发表于 2020-7-6 11:39
你也没写要打印啥呀

这一行是跟下面的for放一起的。
看前面一行。。
我的锅
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-6 11:48:14 | 显示全部楼层
wly1220 发表于 2020-7-6 11:41
这一行是跟下面的for放一起的。
看前面一行。。
我的锅

那就是没问题呀
你能编辑一下帖子(帖子下面有个编辑键),改改代码,
改成正确的样子我再看看呗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-6 11:55:22 | 显示全部楼层
qiuyouzhi 发表于 2020-7-6 11:48
那就是没问题呀
你能编辑一下帖子(帖子下面有个编辑键),改改代码,
改成正确的样子我再看看呗

谢谢老哥了,好像是编译器问题,我师兄用了其他编译器可以跑
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-6 11:57:10 | 显示全部楼层
wly1220 发表于 2020-7-6 11:55
谢谢老哥了,好像是编译器问题,我师兄用了其他编译器可以跑

噢,好的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-6 15:20:09 | 显示全部楼层
你把
for(i=0;i<4;i++)
{
       printf("%s\n",*jiayuLoves[i]);
}

这里注释掉了(加了//在C / C++中表示注释)
注释掉的语句C/C++是不会执行的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-6 15:25:22 | 显示全部楼层
本帖最后由 FishC--Student 于 2020-7-6 15:26 编辑

这样试试看:

  1. #include <stdio.h>

  2. int main()
  3. {
  4.     char *cBooks[]={
  5.         "<C程序设计语言>","<c专家编程>","<c和指针>","C陷进与缺陷","<C Primer Plus>","<带你学C带你飞>"
  6.     };
  7.       
  8.     char **byFishC;
  9.     char **jiayuLoves;
  10.     int i;

  11.     byFishC = &cBooks[5];
  12.     jiayuLoves = &cBooks[1];   
  13.     jiayuLoves[1] = &cBooks[1];
  14.     jiayuLoves[2] = &cBooks[2];
  15.     jiayuLoves[3] = &cBooks[3];

  16.     printf("FishC出版的图书有:%s\n",*byFishC);
  17.     printf("小甲鱼喜欢的图书有:");
  18.     for(i=0;i<4;i++)
  19.     {
  20.         printf("%s\n",*jiayuLoves[i]);
  21.     }

  22.     return 0;
  23. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-7 09:19:51 | 显示全部楼层

不是这个原因,我用你的代码直接报错了。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-19 06:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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