回覆列表
  • 1 # lanfengz3

    void Insert(char*s1,char*s2,int n)

    {

    char*result=(char*)malloc(20*sizeof(char));

    char*temp=result;//儲存result的初始地址,因為後面要改變result

    //把s1的一部分賦給result

    for(int i=0;i<n;i++)

    {

    *result=*(s1++);

    result++;

    }

    //把s2的所有內容賦給result

    while(*s2!="\0")

    {

    *result=*(s2++);

    result++;

    }

    *result="\0";//字串結束符

    printf("%s\n",temp);

    }

    int main()

    {

    char*s1=(char*)malloc(20*sizeof(char));

    char*s2=(char*)malloc(20*sizeof(char));

    int n;

    printf("請輸入第一個字串:");

    scanf("%s",s1);

    printf("請輸入第二個字串:");

    scanf("%s",s2);

    printf("請輸入插入的位置:");

    scanf("%d",&n);

    Insert(s1,s2,n);

    getchar();

    system("pause");

    return 0;

    }

    示例執行結果:

    請輸入第一個字串:You are ok

    請輸入第二個字串:fine and

    請輸入插入的位置:8

    You are fine and ok

    請按任意鍵繼續…

    擴充套件資料:

    char用法:

    C語言中char用於定義字元型別變數或字元指標變數,例如“char a;”則定義了變數a是字元型別,“char*a;”則定義了變數a是字元指標型別。

    char是C語言整型資料中比較古怪的一個,其它的如int/long/short等不指定signed/unsigned時都預設是signed,但char在標準中不指定為signed/unsigned,編譯器可以實現為帶符號的,也可以實現為不帶符號的。

    關於char還有一個特殊的語言就是char*,它在C語言中有專門的語義,既不同於signed char*,也不同於unsigned char*,專門用於指以"\0"為結束的字串。

  • 中秋節和大豐收的關聯?
  • 張麗莉醫生醫生被殺,醫患關係的矛盾到底出在哪了呢?你有什麼好的建議嗎?