#define
LENGTH
40
#include
void
main(void)
{
char
str1[LENGTH
+
1],str2[LENGTH
+
1];
char
result[2
LENGTH
+
1];
int
len1,len2;
cout<<"Input
the
first
string:"<
cin>>str1;
cout<<"Input
the
second
string"<
cin>>str2;
len1
=
0;
while(str1[len1]
!=
'\0')
{
result[len1]
=
str1[len1];
len1
++;
}
len2
=
0;
while(str2[len2]
!=
'\0')
{
result[len1]
=
str2[len2];
len1
++;
len2
++;
}
result[len1]
=
'\0';
cout<
}
运行该程序并输入:
Input
the
first
string:
Good↙
Input
the
second
string:
bye↙
运行结果为:
Goodbye
程序中第一个循环把str1的内容送到result中,但没有送'\0',从第一个字符串的末尾位置开始,第二个循环把str2送到result中,同样没有送'\0',因此在最后我们为新的字符串加一个'\0'表示字符串的结束,最后用printf输出这个字符串。
程序代码如下:
#include<stdioh>
#include<stdlibh>
//获取初始化的字符数组
char initialize(int length);
int main(void)
{
char s1, s2, s;
int length, i=0, cnt=0;
//输入字符串长度
printf("请输入这两串字符的最大长度:");
scanf("%d",&length);
//初始化
s1 = initialize(length2);
s2 = initialize(length);
//输入
printf("请输入第一串字符:");
scanf("%s", s1);
printf("请输入第二串字符:");
scanf("%s", s2);
//拼接
while(s1[++cnt]!='\0');
while(s2[i]!=0){
s1[cnt++] = s2[i++];
}
//输出
printf("这两串字符的连接为:%s\n", s1);
free(s1);
free(s2);
system("pause");
return 0;
}
char initialize(int length)
{
int i;
char s = (char)malloc(sizeof(char)length);
for(i=0; i<length; i++){
s[i] = '\0';
}
return s;
}
扩展资料:
计算机对除机器语言以外的源程序不能直接识别,理解和执行,都必须通过某种方式转换为计算机能够直接执行的。
这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。
解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。
编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析,语法分析,语意分析,代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序;
然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。
void strcat1(char a,char b)
{ int i,len;
i=0;len=strlen(a);
while(b[i]!=’’)
{ a[len+i]=b[i]; i++;}
}
void main(){
char s1[80],s2[40];
int i=0,j=0;
gets(s1);
gets(s2);
while(s1[i++]!='\0');
i--;
while((s1[i++]=s2[j++])!='\0');
printf("%s",s1);
}
以上就是关于编一程序,将两个字符串连接起来,不要用strcat函数.全部的内容,包括:编一程序,将两个字符串连接起来,不要用strcat函数.、请编写一个程序,利用指针实现两个字符串的连接、编写一程序,将两个字符串连接起来,结果取代第一个字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)