爱问知识人 爱问教育 医院库

一道C程序设计题关于字符串连接

首页

一道C程序设计题关于字符串连接

 字符串连接
编一程序,将两个字符串连接起来。结果取代第一个字符串。
要求
1、用字符数组,不用strcat函数;
2、用C标准中的strcat函数;

[实验提示]
1、采用字符数组的方法。算法:定义的两个字符数组,第一个数组的大小应大于两个字符数组的有效大小。在串接时要注意字符处结束标志:如下图所示:
Str1[20] 
I  L  O  V  E  \0                            
    
    [实验提示]
1、采用字符数组的方法。算法:定义的两个字符数组,第一个数组的大小应大于两个字符数组的有效大小。在串接时要注意字符处结束标志:如下图所示:
Str1[20] 
I  L  O  V  E  \0                            
            Str2[10]
C  +  +  \0            
      

串接后:str1[20]
I  L  O  V  E  C  +   +  \0                      

      
串接过程:
1)首先找到第一个字符串的结束标志即末尾str1[5]。
2)执行str1[5+i] = str[i] 直到str[i] != ‘\0’
3)给字符串str1末尾添加‘\0’
2、函数原形 strcat(char[],const char[])使用时实参只需给出数组名,如 strcat(str1,str2)使用时要确保str1数组不会溢出。

提交回答
好评回答
  • 2006-11-16 20:36:07
    有输入的吗?======================#include#include#defineSIZE120#defineSIZE210voidmain(){charStr1[SIZE1],Str2[SIZE2];intLen1,Len2;printf("PleaseInputString1(Length=SIZE1){printf(" ");return;}for(i=0;i<=Len2;i++)Str1[Len1+i]=Str2[i];//strcat(Str1,Str2);printf("NewString1:");puts(Str1);}===================说明:现在是按要求1的。代码中for(i=0;i<=Len2;i++)Str1[Len1+i]=Str2[i];//strcat(Str1,Str2);把上面那行注释掉,用下面那行的话就是要求2的。

    1***

    2006-11-16 20:36:07

其他答案

    2006-11-17 18:39:24
  • 什么乱东东?
    代码不难写的
    strcat(char[] str1,const char[] str2)
    {
        char *p=str1,*q=str2;
        int i;
        for(;*p;p++);
        for(;*q;p++,q++)
            *p=*q;
    }

    l***

    2006-11-17 18:39:24

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 170-189
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):