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

最新文章

  1. 这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧
  2. 微信JSApi支付~坑和如何填坑
  3. iOS开发之功能模块--本地序列化
  4. USACO 2015 December Contest, Gold Problem 2. Fruit Feast
  5. memcached的图形界面监控
  6. javascript学习第三课引用类型object
  7. 关于时区的时间的详解,比如UTC\GMT等
  8. ibernate学习笔记5---实体类或属性名与数据库关键字冲突、hql命名参数、hql实现通用分页
  9. Pro Android 4 第五章 理解Intent
  10. Composer生成PHP依赖包
  11. hdu 4445 Crazy Tank (暴力枚举)
  12. 201521123011《Java程序设计》第14周学习总结
  13. C++二维数组、指针、对象数组、对象指针
  14. Codeforces Round #552 (Div. 3) D题
  15. 如何理解深度学习中的Transposed Convolution?
  16. 改写了禁用或启用oracle数据库的约束的存储过程
  17. C# 解压
  18. Scanner的概述与String类的构造和使用_DAY12
  19. 关于Unity中的光照(五)
  20. 103041000997维护的是周批,按周合并后再考虑最小采购批量、舍入值、然后回写到SAP系统

热门文章

  1. SQL Server Management Studio 简单使用说明
  2. hibernate中错误笔记
  3. 通用的sql语句
  4. 通过LDAP验证Active Directory服务
  5. Java Source Attacher 1.2 发布
  6. MongoDB 日志太大怎么办?
  7. 【Redis】windows环境下安装redis服务器,并配置php的redis扩展
  8. 微信公众平台消息接口开发-封装weixin.class.php(转)
  9. TeleMCU视频会议系统添加字幕支持
  10. 批量修改图像的大小 Python PIL