请编写一个程序,利用指针实现两个字符串的连接
程序代码如下:
#include<stdio.h>
#include<stdl足毂忍珩ib.h>
//获取初始化的字符数组
char* initialize(int length);
int main(void)
{
char *s1, *s2, s;
int length, i=0, cnt=0;
//输入字符串长度
printf("请输入这两串字符的最大长度:");
scanf("%d",&length);
//初始化
s1 = initialize(length*2);
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;
}
扩展资料:
计算机对除机器语言以外的源程序不能直接识别,理解和执行,都必须通过某种方式转换为计算机能够直接执行的。
这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。
解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。
编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析,语法分析,语意分析,代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序;
然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。