标题:改不动了,坛友们帮我看看我标记的那一句
只看楼主
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
结帖率:88.89%
已结贴  问题点数:20 回复次数:8 
改不动了,坛友们帮我看看我标记的那一句
程序代码:
#define _STDC_WANT_LIB_EXT1_1
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#define capacity 50
void convert(char*, char str[]);
void rtern(char str[]);
int main(void)
{
    char *ptr = (char*)malloc(capacity);
    char buf[capacity] = { NULL };
    printf("请输入一串字符:\n");
    fgets(ptr, capacity, stdin);
    convert(ptr, buf);
    rtern(buf);
    free(ptr);
    ptr = NULL;
    return 0;
}


void convert(char* p, char word[])
{
    char delimiters[] = " \" ,;:)( ";
    char buf[capacity];
    char *ptr = NULL;

    strcpy_s(buf, capacity, p);
    char *pstr = strtok_s(buf, delimiters, &ptr);

    //就是下面这句,怎样彻底单元化一个字符串
    while  (pstr !=NULL)
    {
        if (pstr!=NULL)
            pstr = strtok_s(NULL, delimiters, &ptr); 
        
    }
    free(p);//删去free也错
    p= NULL;


    strcpy_s(word, capacity, pstr);
    printf("%s\n", word);
}


void rtern(char* q)
{
    printf("%d\n", strlen(q));
}
搜索更多相关主题的帖子: void char NULL free word 
2017-11-02 22:59
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:7 
每次分离出来的pstr你需要保存,分离完后,再拷贝到word时,已经是空指针了。
2017-11-03 09:20
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:7 
从你的这个烂代码中看不清楚你想干什么,猜出是字符串分割,但却不知道你为什么这么做,是不是题目中有什么要求。
最好的办法是,将题目贴出来,让别人帮你写一个
2017-11-03 10:39
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
得分:0 
回复 3楼 rjsp
题目要求要用三个函数,分割一个字符串并求出分割后的字母数
第一个函数的参数是一个字符和一个数组;
第二个是一个一个数组
2017-11-03 12:10
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
回复 4楼 Gband
听不懂,既然你这么回答,那当我没问过
2017-11-03 12:25
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
得分:0 
回复 2楼 grmmylbs

是不是strcpy_s中不能出现p[n]这种形式
2017-11-03 12:35
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
得分:0 
回复 5楼 rjsp
我的锅,
题目要求要用三个函数,分割一个字符串并求出分割后的字母数
第一个是主函数
第二个函数的参数是一个字符和一个数组;
第三个函数是一个数组
2017-11-03 12:39
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:0 
你要这样拷贝的话,buf就要定义成二维的数组,你没贴全,不知道word是不是。
2017-11-03 14:44
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
得分:0 
回复 8楼 grmmylbs
嗯,谢了
2017-11-03 21:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-482071-1-1.html




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

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