哪里出现错误了(c语言)

#include<stdio.h>
int main()

char str1[30]={"people's republic of"};
char str2[]={"china"};
printf("%s",strcat(str1,str2));
return 0;

没什么大问题,可能是有些符号你是用的是中文,比如%等,仔细检查一下就好了

img

很明显,花括号的中英文错误了!

1 单引号转意
2 字符串初始化的时候,不用带花括号,应该如下:

char str1[30]="people's republic of";
char str2[]="china";

带花括号的写法好像是C++的写法,而不是C语言的(题主标注了是C语言)。