免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1394 | 回复: 6
打印 上一主题 下一主题

大家评论一下这个程序, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-27 09:54 |只看该作者 |倒序浏览
大家看一下这个程序的错误!程序的意思是从para字符串中按,号分离出子字符串。

void main()
{
        char para[]="aa,bb,cc,dd,";
        char ch[4][20];
        char **p;
        p=ch;
        separate(para,**p);
}


void separate(char *paraname,char **child)
{
         
          int i;
          for (i=0;i<strlen(paraname);i++)
            if(paraname==',')
              {
                        *child++;
                }
             else   
              {
                **child++=*paraname++
              }  
      
}

论坛徽章:
0
2 [报告]
发表于 2003-02-27 10:01 |只看该作者

大家评论一下这个程序,

*child++;
会增加几

不会是20 吧
因为传入函数的child没有说明成数组[][20]

论坛徽章:
0
3 [报告]
发表于 2003-02-27 10:08 |只看该作者

大家评论一下这个程序,

而且
**child是形参
在函数返回时它的值是不会变的
如果你在函数返回时用它的值
那你还要再加一个*
也就是写成***child
然后在里面用&amp;child
头都大了
faint,你这个是考题还是什么
自己写的话完全没必要这么写嘛!

论坛徽章:
0
4 [报告]
发表于 2003-02-27 10:20 |只看该作者

大家评论一下这个程序,

哦,看错了,不好意思
正确应该是
(*child)++
(**child)++
++的优先级比*要高
另外,无双说的也对,应该说明成char child[][20]

论坛徽章:
0
5 [报告]
发表于 2003-02-27 10:42 |只看该作者

大家评论一下这个程序,

自己写的想通过指针来实现,

但我对字符指针及函数指针不是很清楚,想用这个完全弄清楚一下。

多谢你们的帮忙哟!

论坛徽章:
0
6 [报告]
发表于 2003-02-27 10:47 |只看该作者

大家评论一下这个程序,

自己写的话
可以用strchr()嘛

论坛徽章:
0
7 [报告]
发表于 2003-02-27 11:24 |只看该作者

大家评论一下这个程序,

多谢各位,我照着改了,如下能成功运行了,谢谢!!!!

void main(void)
{   int i;
        char para[]="aa,bb,cc,dd,";
        char ch[4][20];
        separate(para,ch);
}


void separate(char *paraname,char child[][20])
{
         
          int i,j,k=0,l=0;               
        j=strlen(paraname);
          for (i=0;i<j;i++)
            if(*paraname==',')
              { child[k][l++]='\0';
                *paraname++;
                k++;l=0;
                }
             else   
              {
                child[k][l]=*paraname++;
                        l++;
              }  
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP