c语⾔实现字符串连接
printf怎么输出字符⼀、假设有两个字符串"abc"和"1234",将它们连接起来并输出
#include<stdio.h>
#include<string.h>
int main()
{
char a[10]="abc";
char b[4]="1234";
int i,la;
la=strlen(a);
for(i=0;i<4;i++)
a[la+i]=b[i];
for(i=0;i<10;i++)
printf("%c",a[i]);
}
运⾏结果是:
这个问题不难,但也有⼏个细节需要注意:
①数组b不可以定义为整型数组,如果写成int b[4]={1,2,3,4}则输出时连接不起来,因为与数组a类型不同;
②输出时要写%c,⽤循环语句逐个输出字符,不能写成%s或不⽤循环,因为字符串没法⼀步到位都输出来。⼆、改进上述问题,要求随机输⼊两个字符串,连接起来并输出。
#include<stdio.h>
#include<string.h>
int main()
{
char a[20]={'\0'},b[10]={'\0'};//初始化
//不论字符或数字,都定义为字符型数组,否则没法连接
int i,la,lb;
printf("输⼊两个字符串,⽤空格隔开:\n");
scanf("%s%s",&a,&b);
la=strlen(a);//strlen()函数获取字符串长度,位于库函数<string.h>中
lb=strlen(b);
for(i=0;i<lb;i++)
a[la+i]=b[i];
for(i=0;i<(la+lb);i++)
printf("%c",a[i]);//逐个输出字符,⽤%c⽽不是%s
}
运⾏结果为:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。