为什么出现后面的奇怪的字,哪里错了?前面的输出没问题,就是后面为什么出现奇怪的字
c语言字符串以'\0'结尾,你的子函数檫除了结尾符;printf()会一直打印直到有结尾符,后面那部分乱码是其他的内存内容。在solution函数的最后一行添加str[2*n-1]='\0';可解决问题。
str[2*n-1]='\0';
char str[20]改成char str[20] = {0};问题原因是str字符串缺少字符串结束符,所以后面会出现垃圾字符