1. 程式人生 > 其它 >c語言實現字串連線

c語言實現字串連線

技術標籤:C語言字串c語言

一、假設有兩個字串"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
}

執行結果為: