| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 603 人关注过本帖
标题:关于动态分配字符串的问题!
只看楼主 加入收藏
bnb45
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-9-18
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
关于动态分配字符串的问题!
程序代码:
#include <stdio.h>
#include <string.h>

#define STR_LEN 30
#define MAX_LEN 30

main()
    {
    char *p[MAX_LEN], str[STR_LEN+1];
    int n=0, num_p=0, i, j;

    for (;;)
        {
        if (num_p>MAX_LEN)
            {
            printf("-- There is no place left --");
            break;
            }
        printf("Enter the sentence: ");
        scanf(" %s",&str);
        if (strcmp(str,"0")==0)
            break;
        while (getchar()!='\n')
            ;
        p[n]=malloc(strlen(str)+1);
        if (p[n]==NULL)
            {
            printf("-- malloc error --");
            break;
            }
        strcpy(p[n++],str);
        num_p++;
        }

    for (i=0;i<n;i++)
        printf("%s\n",p[n]);

    getch();
    return 0;
    }
运行后屏幕上都是null
不知道具体是什么原因
望解答
搜索更多相关主题的帖子: 动态 字符 
2010-09-20 16:36
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:2 
试试看把&去掉 scanf( " %s " ,&str);

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2010-09-20 16:48
书呆
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:188
注 册:2010-3-26
收藏
得分:18 
for (i=0;i<n;i++)
        printf("%s\n",p[n]);

沉醉东风月下读。柴门闭,莫管客来无。
2010-09-20 16:53
bnb45
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-9-18
收藏
得分:0 
把&去掉后
程序也可以运行
但是结果也一样
我用Win-TC
2010-09-20 17:04
bnb45
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-9-18
收藏
得分:0 
以下是引用书呆在2010-9-20 16:53:08的发言:

是这个问题。。
我也很汗。。
2010-09-20 17:04
快速回复:关于动态分配字符串的问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017370 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved