#include
#include
int main()
{
char a[101], b[100];
int i = 0, j = 0, min, max, x, y;
min = 0;//min在下面(if (a[i] max = 0;//初始化
gets(a);
gets(b);
x = strlen(a);
y = strlen(b);
for (i = 0; i{
if (a[i] min = i;
}
for (j = 0; j{
if (b[j]>b[max])
max = j;
}
for (i = x; i >min; i--)//for循环注意其语句执行先后顺序,判断条件语句(i >min),
{ //满足之后先执行for循环体语句(a[i] = a[i-1];),再执行i--。
a[i] = a[i-1];
}
if (min == x)
a[i] = b[max];//这里原程序直接把整数max赋给了a[i]
else
{
a[i +1] = b[max];
}
a[x + 1] = '\0';//在字符串最后添加字符串结束符
puts(a);
while (1);
}
根据你的思路,改好程序后帮你把根本上的错误注释上了