鱼C论坛

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

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

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

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

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

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



int main(void)
{
                char *hot1 = "nihaowoshi";
                char *hot2 = "bzhidao";
                char *hot3 = "shemeyis";
                char *hot4 = "haoniget";
                char *hot5 = NULL;

                char *cool[5];

                cool[0] = hot1;
                cool[1] = hot2;
                cool[2] = hot3;
                cool[3] = hot4;
                cool[4] = hot5;

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

                while ((may = (*cool)++) != NULL)
                {
                                while (*may != '\n')
                                {
                                                printf("%c", *may++);
                                }
                }


                return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-24 22:31:29 From FishC Mobile | 显示全部楼层
5个元素的数组为何自定义长度为4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

没注意我在试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

还是一样编辑不了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

错误提示呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-28 23:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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