strcat函数自己给自己追加

img


#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include<assert.h>
#include <stdlib.h>

int main()
{
    char arr[20] = "abc";
    strcat(arr, arr);
    printf("%s\n", arr);
    return 0;
}

strcat不是不能自己给自己追加吗?
那为什么运行的结果会是abcabc呢?
编译器版本问题吗?我的编译器是vs2022

求解惑!

可以啊,你看标准库中的实现,是可以就地操作的
https://www.cnblogs.com/youngforever/p/3173880.html

可以的,你看看这个:


看完你就懂了