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. 用css3选择器给你要的第几个元素添加不同样式方法【转发】

    下面我们来了解一下css选择器里面的几个 :only-child p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素. 3 :nth-child(n) p:nth- ...

  2. Overlapped I/O模型深入分析(转)

    随笔 - 262  文章 - 0  评论 - 531  博客园  首页  新随笔  联系  管理  订阅  Overlapped I/O模型深入分析(转) 简述:    Overlapped I/O也 ...

  3. 深层神经网络框架的python实现

    概述 本文demo非常适合入门AI与深度学习的同学,从最基础的知识讲起,只要有一点点的高等数学.统计学.矩阵的相关知识,相信大家完全可以看明白.程序的编写不借助任何第三方的深度学习库,从最底层写起. ...

  4. jQuery Event.which 属性详解

    jQuery Event.which 属性详解 which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮. 对于键盘和鼠标事件,该属性用于确定你按下的是哪一个键盘按键或鼠标按钮. which属性对 ...

  5. cygwin下安装scws

    安装gcc和make命令 1.找到cygwin的etc目录中有一个名为passwd的文件.   2.用UE或记事本打开passwd这个文件,找到以下部分,把其中的windows用户名admin换成ro ...

  6. 微信公众平台自定义菜单及高级接口PHP SDK(转)

    本文介绍介绍微信公众平台自定义菜单及高级接口的PHP SDK及使用方法. 作者 方倍工作室 修正记录: 2014.05.03 v1.0 方倍工作室 http://www.cnblogs.com/txw ...

  7. Directshow开发播放器相关介绍

    原文地址:http://www.cnblogs.com/qiufa/archive/2006/12/19/596949.html DirectShow技术是DirectX推出的建立在DirectDra ...

  8. WinForm下的键盘事件(KeyPress、KeyDown)及如何处理不响应键盘事件

    KeyDown事件用来处理功能键:F1 F2 F3... keyPress事件用来处理字符比如说:A B C... 1 2 3... 注:处理该事件时,需要先将窗体的 KeyPreview=true; ...

  9. Oracle GoldenGate (ogg) 11.2.1.0.20 是最后一个支持oracle db 10g的 ogg版本号

    參考原文: Oracle GoldenGate 11.2.1.0.22 Patch Set Availability (Doc ID 1669160.1) 该文章不做翻译,只摘录当中有价值的信息,例如 ...

  10. springboot 整合 rabbitmq

    http://blog.720ui.com/2017/springboot_06_mq_rabbitmq/