| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1066 人关注过本帖
标题:自定义字符串函数,编译没有错,但是最后显示不成功。不解……请求指点
只看楼主 加入收藏
ecssse
Rank: 1
等 级:新手上路
帖 子:16
专家分:2
注 册:2014-3-29
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:13 
自定义字符串函数,编译没有错,但是最后显示不成功。不解……请求指点
程序代码:
#include<stdio.h>
void strcat(char s1[],char s2[]);
void strcmp(char s1[],char s2[]);
void strcpy(char s1[],char s2[]);
void strlen(char s1[],char s2[]);
void main()
{
    char s1[20],s2[20];
    printf("please 1th string:");
    scanf("%s",&s1);
    printf("please 2th string:");
    scanf("%s",&s2);
    strcat(s1,s2);
    strcmp(s1,s2);
    strcpy(s1,s2);
    strlen(s1,s2);
    
}

void strcat(char s1[],char s2[])
{
    int i,j;
    char s[40];
    for(i=0;s1[i]!='\0';i++)
    {
        s[i]=s1[i];
    }
    for(j=i+1;s2[j]='\0';j++)
    {
        s[i+j]=s2[j];
    }
    printf("\n");
    printf("连接后的两串字符为:%s",s);
}

void strcmp(char s1[],char s2[])
{
    int i;
    for(i=0;s1[i]!='\0',s2[i]!='\0';i++)
    {
        if(s1[i]>s2[i])
            printf("strcmp<s1,s2>=1\n");
        if(s1[i]<s2[i])
            printf("strcmp<s1,s2>=-1\n");
        if(s1[i]=='\0'&&s1[i]==s2[i])
            printf("strcmp<s1,s2>=0\n");
    }
}

void strcpy(char s1[],char s2[])
{
    int i;
    s2[i]=s1[i];
    printf("s1复制到s2后的字符串:");
    printf("%s\n",s2);
}

void strlen(char s1[],char s2[])
{
    int i;
    int a=0,b=0;
    for(i=0;*s1!='\0';s1++)
    {
        a++;
    }
    for(i=0;*s2!='\0';s2++)
    {
        b++;
    }
    printf("a=%d,b=%d\n",a,b);
}
搜索更多相关主题的帖子: color 字符串 
2014-06-19 20:29
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
编程不是编译没报错就可以的了,包括运行要正确。不对改到对为止!没人知道你的程序想要怎样的效果,没人知道你输入了什么,也没人知道你的“不显示”是什么现象。向别人提问之前,最好先问一问自己,想象自己是被提问的人,你知道自己说什么吗?你将会反问什么问题?

授人以渔,不授人以鱼。
2014-06-19 20:38
ecssse
Rank: 1
等 级:新手上路
帖 子:16
专家分:2
注 册:2014-3-29
收藏
得分:0 
每个自定义函数的定义,都标示有表达的意思。如:strcmp为字符串的比较。我想问,你有看吗?
2014-06-19 22:16
杨唐卫
Rank: 2
等 级:论坛游民
帖 子:24
专家分:23
注 册:2014-4-16
收藏
得分:5 
1.(i=0;*s1!='\0';s1++)这句通过指针调用数组的元素s1是常量;上网查一下。
2.代码的字符串比较可以考虑不要那么僵化,用编码之差处理。
3.(j=i+1;s2[j]='\0';j++)此处的i跳出到底是多少?想一下。为什么不加‘\0’.
2014-06-19 22:53
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
“我想问,你有看吗?”

建议:把版主说的话仔细研读一遍,分句理解,估计你就知道他或者她看过没有了……

梦想拥有一台龙芯3A-4000
2014-06-20 18:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:15 
我都懒得再尿他,好心教他正确提问的方式、尊重他人、不要浪费别人的时间、把问题描述清楚,落得个反咬一口,怪别人不看他的代码。这就叫狗咬吕洞宾。这坛上太多这种鸟人。

授人以渔,不授人以鱼。
2014-06-20 20:54
ecssse
Rank: 1
等 级:新手上路
帖 子:16
专家分:2
注 册:2014-3-29
收藏
得分:0 
回复 6 楼 TonyDeng
如果你有编译就会知道我想说的是什么,看得出来你就是看看代码,都没有切实的考虑!不是狗咬什么鬼,确实是你没有动手过!
2014-06-21 14:18
ecssse
Rank: 1
等 级:新手上路
帖 子:16
专家分:2
注 册:2014-3-29
收藏
得分:0 
回复 4 楼 杨唐卫
对于(j=i+1;s2[j]='\0';j++)就是想表达:使用在i变化到最后的数值再加1,就是想把第二个字符串连接在第一个字符串的后面
2014-06-21 14:29
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用ecssse在2014-6-21 14:18:54的发言:

如果你有编译就会知道我想说的是什么,看得出来你就是看看代码,都没有切实的考虑!不是狗咬什么鬼,确实是你没有动手过!

对啊 对于这种问题我们就是不动手 基于以下的原因

1. 我们没义务帮助你 哪怕是版主
2. 问题描述不清 增加我们调试的难度 浪费时间
3. 万一我们认真看并且改了 你连看不看 我们怎么办 至少 你连描述问题都懒得描述 不看是很正常的
2014-06-21 15:07
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
基本上每次都是手机登陆上论坛,所以帮人解决问题都没用编译器编译并运行。

总有那身价贱的人给作业贴回复完整的代码
2014-06-21 18:08
快速回复:自定义字符串函数,编译没有错,但是最后显示不成功。不解……请求指点 ...
数据加载中...
 
   



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

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