你错过了一些关于C的基本原理。
finalUser = "1";
这是在“只读”内存中创建的。你不能改变这一点。第一个论点 strcat 需要分配用于突变的内存, 例如
strcat
char finalUser[32]; finalUser[0] = '1';
因为您没有为目标字符串分配足够的内存。因此,您需要静态或动态分配足够的内存。
静态:
char finalUser[YOUR_REQUIRED_SIZE];
动态:
char *finalUser = malloc(YOUR_REQUIRED_SIZE);