/*
编写一程序,由用户输入两个字符串A、B,若字符串B的长度< = 5,
则将字符串B连接到字符串A的后面;否则若字符串B的长度 > 5,
则将字符串B的前5个字符连接到字符串A的后面。要求不用strcat函数。字符串名可任意取。
*/
#include <stdio.h>
#include <string.h>
void main()
{
//定义两个数组
char a[20];
char b[10];
//输入
printf("请输入a:");
gets(a);
printf("请输入b:");
gets(b);
//数组a,b 的实际长度
int k=strlen(a);
int l=strlen(b);
//判断条件
if(l<=5)
{
for(int i=0;i<l;i++)
if(b[i]!='\0')
a[k+i]=b[i];
//输出最后的结果a
for(int u=0;u<k+l;u++)
printf("%c",a[u]);
printf("\n");
}
if(l>5)
{
for(int j=0;j<5;j++)
if(b[j]!='\0')
a[k+j]=b[j];
//输出最后的结果a
for(int u=0;u<k+5;u++)
printf("%c",a[u]);
printf("\n");
}
}
知道为什么最后的结果a的输出放在里面///而不放在外面,并用一个语句输出呢……!?编写一程序,由用户输入两个字符串A、B,若字符串B的长度< = 5,
则将字符串B连接到字符串A的后面;否则若字符串B的长度 > 5,
则将字符串B的前5个字符连接到字符串A的后面。要求不用strcat函数。字符串名可任意取。
*/
#include <stdio.h>
#include <string.h>
void main()
{
//定义两个数组
char a[20];
char b[10];
//输入
printf("请输入a:");
gets(a);
printf("请输入b:");
gets(b);
//数组a,b 的实际长度
int k=strlen(a);
int l=strlen(b);
//判断条件
if(l<=5)
{
for(int i=0;i<l;i++)
if(b[i]!='\0')
a[k+i]=b[i];
//输出最后的结果a
for(int u=0;u<k+l;u++)
printf("%c",a[u]);
printf("\n");
}
if(l>5)
{
for(int j=0;j<5;j++)
if(b[j]!='\0')
a[k+j]=b[j];
//输出最后的结果a
for(int u=0;u<k+5;u++)
printf("%c",a[u]);
printf("\n");
}
}
浙公网安备 33010602011771号