首先建议你搞清楚C和C++的区别 其次建议你搞清楚整型和字符的区别 你的b是字符串数组,而k却是整型,输出也是整型。 最后你没有考虑到进位问题,也就是当a为k位数时,b=a*2可能为k+1位数,而你没有考虑多出来的最高位。
第19行少半个括号。dfs(j, dis + e[cur][j]);