标题:C考试程序设计题目,功能字符串连接,根据答案写程序,编译运行得不到想要的 ...
只看楼主
wjt54220
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-11-12
结帖率:0
已结贴  问题点数:20 回复次数:4 
C考试程序设计题目,功能字符串连接,根据答案写程序,编译运行得不到想要的结果
程序代码:
# include <stdio.h>
void fun (char p1[],char p2[])
{
    int i,j;
    for (i=0;p1[i]!='\0';i++)
        for(j=0;p2[j]!='\0'; )
            p1[i++]=p2[j++];
    p1[i]='\0';

}




main()
{
    char s1[80],s2[40];
    //void NONO();

    printf("Enter s1 and s2:\n");
    scanf("%s%s",s1,s2);
    printf("s1=%s\n",s1);
    printf("s2=%s\n",s2);
    printf("Invoke fun(s1,s2)\n");
    fun(s1,s2);
    printf("After invoking:\n");
    printf("%s\n",s1);
//    NONO();
    return 0;

}
/*void NONO()
{
    int i;
    FILE *rf,*wf;
    char s1[80],s2[40];

    rf = fopen("in.dat","r");
    wf = fopen("out.dat","r");
    for(i=0;i<10;i++)
    {
        fscanf(rf,"%s",s1);
        fscanf(rf,"%s",s2);
        fprintf(wf,"%s\n",s1);
    }
    fclose(rf);
    fclose(wf);
}*/

运行结果
Enter s1 and s2:
a!2
b!c
s1=a!2
s2=b!c
Invoke fun(s1,s2)
After invoking:
b!c
Press any key to continue
搜索更多相关主题的帖子: 运行 结果 fun char printf 
2018-05-08 20:47
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:379
专家分:820
注 册:2013-4-18
得分:20 
#include<string.h>
# include <stdio.h>
 char* fun (char *p1,char *p2 )
{
    int i,j=0; for(i=strlen(p1);i<strlen(p1)+strlen(p2);i++)
          {p1[i]=p2[j];
          j++;}
    p1[i+1]='\0';
    return p1;
   
}




main()
{
    char s1[80],s2[40];
    //void NONO();

    printf("Enter s1 and s2:\n");
    scanf("%s%s",s1,s2);
    printf("s1=%s\n",s1);
    printf("s2=%s\n",s2);
    printf("Invoke fun(s1,s2)\n");
    printf("After invoking:\n");
    printf("s1=%s\n",fun(s1,s2));
//    NONO();
    return 0;

}
2018-05-08 22:12
wjt54220
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-11-12
得分:0 
回复 2楼 dzy123
请问我写的答案,错在哪里?因为那个是课后标准答案,不能运行。
2018-05-09 10:39
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:379
专家分:820
注 册:2013-4-18
得分:0 
你是用第二个字符串替换了第一个字符串不是连接
收到的鲜花
  • wjt542202018-05-10 21:51 送鲜花  1朵   附言:谢谢!分号很重要!
2018-05-09 10:49
wjt54220
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-11-12
得分:0 
回复 4楼 dzy123
谢谢大神,我爱你!!!!原来是少了一个分号!!!!
# include <stdio.h>
void fun (char p1[],char p2[])
{
    int i,j;
    for (i=0;p1[i]!='\0';i++);
        for(j=0;p2[j]!='\0'; )
            p1[i++]=p2[j++];
    p1[i]='\0';

}




main()
{
    char s1[80],s2[40];
    //void NONO();

    printf("Enter s1 and s2:\n");
    scanf("%s%s",s1,s2);
    printf("s1=%s\n",s1);
    printf("s2=%s\n",s2);
    printf("Invoke fun(s1,s2)\n");
    fun(s1,s2);
    printf("After invoking:\n");
    printf("%s\n",s1);
//    NONO();
    return 0;

}
/*void NONO()
{
    int i;
    FILE *rf,*wf;
    char s1[80],s2[40];

    rf = fopen("in.dat","r");
    wf = fopen("out.dat","r");
    for(i=0;i<10;i++)
    {
        fscanf(rf,"%s",s1);
        fscanf(rf,"%s",s2);
        fprintf(wf,"%s\n",s1);
    }
    fclose(rf);
    fclose(wf);
}*/
2018-05-10 21:49



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




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

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