1052: 写一函数,将两个字符串连接

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 343  Solved: 210
[Submit][Status][Web Board]

Description

写一函数,将两个字符串连接

Input

两行字符串

Output

链接后的字符串

Sample Input

123
abc

Sample Output

123abc

HINT

 

Source

 
  水题。
  做这道题正好练练指针
  题意是用一个函数连接两个字符串。问题在于函数的返回值的处理,如果我想获取一个指向字符数组的指针怎么做?如果我只想获取一个指向字符的指针呢?这两种方法都可以做出这道题。
  2种做法
  函数返回值都是 char *。
  第一种做法是获取一个指向字符变量的指针,这种指针只指向一个字符变量,然后依次输出知道遇到'\0'。
 #include <iostream>

 using namespace std;

 char* mystrcat(char a[],char b[])
{
char c[];
int i,j;
for(i=;a[i];i++)
c[i] = a[i];
for(j=;b[j];j++)
c[i++] = b[j];
c[i] = '\0';
return c;
}
int main()
{
char a[],b[];
while(cin>>a>>b){
char *c;
c = mystrcat(a,b);
cout<<c<<endl;
}
return ;
}

  

  第二种做法,获得一个指向字符数组的指针,指针指向内存中一整块区域。main函数中需要对这个返回值进行强制转换,转换成(char(*)[1000])这种形式,假定使这个指针变量指向一整块内存。

 #include <iostream>

 using namespace std;

 char* mystrcat(char a[],char b[])   //连接函数
{
char c[];
int i,j;
for(i=;a[i];i++)
c[i] = a[i];
for(j=;b[j];j++)
c[i++] = b[j];
c[i] = '\0';
return c;
}
int main()
{
char a[],b[];
while(cin>>a>>b){
char (*c)[1000]; //定义一个指向字符数组的指针
c = (char(*)[1000])mystrcat(a,b); //进行强制转换
cout<<*c<<endl;
}
return ;
}

Freecode : www.cnblogs.com/yym2013

ytu 1052: 写一函数,将两个字符串连接(水题,指针练习)的更多相关文章

  1. 【C语言】创建一个函数,利用该函数将两个字符串连接起来

    代码: #include<stdio.h> ], ]) { int i, j; ; c[i] != '\0'; i++); ; d[j] != '\0'; j++) { c[i++] = ...

  2. 有两个指针pa,pb分别指向有两个数,a,b,请写一个函数交换两个指针的指向,也就是让pa指向b,让pb指向a

    题目:有两个指针pa,pb分别指向有两个数,a,b,请写一个函数交换两个指针的指向,也就是让pa指向b,让pb指向a,具体实现如下: #include<stdlib.h> #include ...

  3. 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。

    [提交][状态][讨论版] 题目描述 有一字符串,包含n个字符.写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串. 输入 数字n 一行字符串 数字m 输出 从m开始的子串 样例输入 ...

  4. 38 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

    题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. public class _038PrintLength { public static void main(Stri ...

  5. 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度

    import java.util.Scanner; /** * [程序38] * * 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. * * @author Jame ...

  6. ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)

    1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 154  Solved: 112[ ...

  7. ytu 2558: 游起来吧!超妹!(水题,趣味数学题)

    2558: 游起来吧!超妹! Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 7  Solved: 3[Submit][Status][Web Board ...

  8. 17.1---编写一个函数交换两个变量的值(CC150)

    用^来操作: public static int[] exchangeAB(int[] AB){ AB[0] = AB[0] ^ AB[1]; AB[1] = AB[0] ^ AB[1]; AB[0] ...

  9. hdu 1086:You can Solve a Geometry Problem too(计算几何,判断两线段相交,水题)

    You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/3 ...

随机推荐

  1. SQL数据库异地备份

    服务器:windows sever 2008(简称为A) 数据库:SQL server 2008 R2(安装在A上) 普通台式机:windows 7(简称为B) 目的:将A中的数据定时自动备份到B中 ...

  2. 【LeetCode】106. Construct Binary Tree from Inorder and Postorder Traversal

    Construct Binary Tree from Inorder and Postorder Traversal Given inorder and postorder traversal of ...

  3. springboot 异步任务

    Spring Boot 揭秘与实战(七) 实用技术篇 - 异步任务拓展阅读: http://www.jianshu.com/p/86e915d616c4 发表于 2017-01-06 | Spring ...

  4. Ubuntu 14.04主机上部署k8s集群

    部署结构 3台虚拟机,其中1台作为master,2台作为minion,都安装了最新版本的docker engine(目前是1.11.2) k8s版本是1.3.0 主要问题 部署步骤基本按照官方文档:h ...

  5. POJ 1321:棋盘问题

    棋盘问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21666   Accepted: 10765 Descriptio ...

  6. putty自带工具plink自动登陆ssh

    PLINK.EXE -C -N -D 127.0.0.1:7000 root@111.111.111.111  -pw 123456 解释成中文: PLINK.EXE -启用数据压缩 -不要shell ...

  7. 用注册表更改DNS的代码分享

    用注册表更改DNS,1秒切换完毕,快速又方便,不用麻烦的去等待了,支持远程路劲运行 最进我这里DNS老是间歇性掉,很不稳定,广州地区,如果你的DNS经常需要更换,试试这个批处理, 论坛很多人发过了更改 ...

  8. Altera Quartus II下载中途失败

    1.Altera 的quartus II 下载程序时中途失败,有可能是程序写的不对(缺少初始状态,else补全等等) 2.下载程序pof最好也用英文命名,再下载.

  9. nginx源代码分析--GDB调试

    利用gdb[i]调试nginx[ii]和利用gdb调试其他程序没有两样,只是nginx能够是daemon程序,也能够以多进程执行,因此利用gdb调试和寻常会有些许不一样. 当然,我们能够选择将ngin ...

  10. C++ 简单的日志类

    用法如下: #include "EasyLog.h" int main(){ EasyLog::Inst()->Log("Run..."); } 不只是m ...