Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341250
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:07:58

设计程序让用户输入两个字符串,将这两个字符串合并成一个字符串后显示。如输入asd dfg输出asddfg.
我写的程序如下。
#include "iostream.h"
void main()
{char s1[50],s2[50];      //用两个数组存放两个字符串。
int i=0,j=0,k=0,t;
cout<<"请输入两个字符串:"<  cin>>s1>>s2;           //输入两个字符串。
    char *p=new char;          //动态声明一个字符数组用于存放输入的两个字符串。
   p=s1;
     while(s1[i]!='\0')
  {i++;k++;}
    k++;
p+k=s2;            //问题就在这里.
  while(s2[j]!='\0')
  {j++;k++;}
    for(t=0;t<=k;t++)
cout<<*(p+t);
  delete p;
}
第一个while语句是用将p指向s1中的所有内容,用p+k来访问,当第一个while完了之后。就将就把p+k指向s2,再运行。请问这个程序是怎样出错的。

--------------------next---------------------

阅读(1254) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~