鱼C论坛

 找回密码
 立即注册
查看: 3272|回复: 6

C二级指针无法输出,请求大神给改一下下谢谢

[复制链接]
发表于 2017-11-24 21:58:36 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 奥普瓯江 于 2017-11-24 22:34 编辑
  1. #include<stdio.h>
  2. #include<stdlib.h>



  3. int main(void)
  4. {
  5.                 char *hot1 = "nihaowoshi";
  6.                 char *hot2 = "bzhidao";
  7.                 char *hot3 = "shemeyis";
  8.                 char *hot4 = "haoniget";
  9.                 char *hot5 = NULL;

  10.                 char *cool[5];

  11.                 cool[0] = hot1;
  12.                 cool[1] = hot2;
  13.                 cool[2] = hot3;
  14.                 cool[3] = hot4;
  15.                 cool[4] = hot5;

  16.                 /*while (*(*cool) - 1 != '\0')
  17.                 {
  18.                                 printf("%c", *(*cool)++);
  19.                 }*/
  20.                 char *may;

  21.                 while ((may = (*cool)++) != NULL)
  22.                 {
  23.                                 while (*may != '\n')
  24.                                 {
  25.                                                 printf("%c", *may++);
  26.                                 }
  27.                 }


  28.                 return 0;
  29. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-11-24 22:31:29 From FishC Mobile | 显示全部楼层
5个元素的数组为何自定义长度为4
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-24 22:34:57 | 显示全部楼层
BngThea 发表于 2017-11-24 22:31
5个元素的数组为何自定义长度为4

没注意我在试试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-24 22:36:45 | 显示全部楼层
BngThea 发表于 2017-11-24 22:31
5个元素的数组为何自定义长度为4

还是一样编辑不了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-25 08:04:57 From FishC Mobile | 显示全部楼层
奥普瓯江 发表于 2017-11-24 22:36
还是一样编辑不了

错误提示呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-25 10:24:02 | 显示全部楼层
char *may = new char;  编译器不一样这个地方可能编译不同,如果直接是char *may; may并没有被分配地址,所以用new从堆中给它分配。
还有 while ((may = (*cool)++) != NULL) 这句话,循环到第五个时不会结束,会一直循环下去,这是由于内存分配地址后,++会指向下一个,不会为NULL的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-25 10:32:15 | 显示全部楼层
根据我的观察是 30行循环的 判断错了   因改为 *may != '\0'.
因为字符串是以'\0' 作为结束标志,而不是'\n'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-1 00:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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