设计程序让用户输入两个字符串,将这两个字符串合并成一个字符串后显示。如输入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---------------------
阅读(1252) | 评论(0) | 转发(0) |