| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 820 人关注过本帖
标题:一个作业,思考了好久,有点想法,但实现起来有点困难,求大神看看
取消只看楼主 加入收藏
任重道远
Rank: 1
等 级:新手上路
帖 子:57
专家分:7
注 册:2015-9-12
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
一个作业,思考了好久,有点想法,但实现起来有点困难,求大神看看

/*编写一个函数,接受可变数目的字符串作为参数,按顺序拼接这些字符串成为一个更长的字符串,并返回一个指向新字符串的指针。*/
我理解为:
         1:程序接收用户输入的字符串,且输入的字符串的个数可变;
         2:把数目可变的字符串作为参数,传递给另一个函数;
         3:另一个函数对字符串进行排序
         4:另一个函数对经排序的字符串进行拼接,并返回指向新字符串的指针。
#include <stdio.h>
#include <string.h>                             //程序是我的一些想法,但是具体不知道怎么操作,
#include <stdarg.h>                             //若是想法正确,求大神给出具体的内容。
                                                //若想法错误,求大神给出具体的坚决方法
#define MAX 10

char *har(int num,...);

int main(void)
{
    char *buf[MAX],*new;
    int count,n;

    for(count=0;count<MAX;count++)
    {
        buf[count]=(char *)malloc(sizeof(buf[count]+1));
        printf("Enter a line of text,enter a bland line to break.")
        gets(buf[count]);
        if(strlen(buf[count])==0)
        {
            n=count+1;
            break;
        }
    }
    if(count==MAX)
        n=MAX;

    new=har(n,不确定n的值可变参数列表怎么写);

    printf("\n%s",new);
    return 0;
}

char *har(int num,...)
{
    va_list arg_ptr;
    char new[90];
    int count;

    va_start(arg_ptr,num);

    for(count=0;count<num;count++)
    {
        进行排序。。。
    }

     for(count=0;count<num;count++)
    {
        进行拼接。。。
    }

    new[90]=新字符串;

    va_end(arg_ptr);

    return new;
}
搜索更多相关主题的帖子: 国家队 字符串 教练 拼接 
2015-09-21 11:10
任重道远
Rank: 1
等 级:新手上路
帖 子:57
专家分:7
注 册:2015-9-12
收藏
得分:0 
回复 2楼 rjsp
  for( const char* p=s; p; p=va_arg(va,const char*) )  E:\code\a20.作业\main.c|16|error: 'for' loop initial declarations are only allowed in C99 mode|
版主,标准似乎不兼容啊,我用的是codeblocks  13.12
那么如果给出的是几个随便的字符串,然后要求在另一个函数中先将这几个字符串进行排序,之后再拼接,因该怎么办呢
2015-09-21 15:44
任重道远
Rank: 1
等 级:新手上路
帖 子:57
专家分:7
注 册:2015-9-12
收藏
得分:0 
回复 2楼 rjsp
谢谢版主简答,我刚学不久,你写的有些我不怎么明白,我在努力学习,我还想知道如果是按照我对题目的理解
即:      1:程序接收用户输入的字符串,且输入的字符串的个数可变;
          2:把数目可变的字符串作为参数,传递给另一个函数;
          3:另一个函数对字符串进行排序
          4:另一个函数对经排序的字符串进行拼接,并返回指向新字符串的指针。
大致因该怎么做,谢谢版主
2015-09-21 15:50
任重道远
Rank: 1
等 级:新手上路
帖 子:57
专家分:7
注 册:2015-9-12
收藏
得分:0 
回复 6楼 rjsp
查了好久,还是不知道怎么在编译参数中添加这些信息啊。。。。怎么破
2015-09-21 19:56
任重道远
Rank: 1
等 级:新手上路
帖 子:57
专家分:7
注 册:2015-9-12
收藏
得分:0 
回复 8楼 TonyDeng
谢谢指点
2015-09-21 23:04
快速回复:一个作业,思考了好久,有点想法,但实现起来有点困难,求大神看看
数据加载中...
 
   



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

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