如图所示,代码可以运行,但是出不来结果

img


#include <stdio.h>
#include <string.h>
int main(void)
{
/Begin/

int  i,j,n,m,max,min;
char a[20];
char b[20];

scanf("%s %s",a,b);
min=0;
max=0;
n=strlen(a);
 for(i=1;a[i]!='\0';i++)
{
    if(a[i]<a[min])
    {
        min=i;
    }
}


for(i=1;i!='\0';i++)
{
    if(b[i]>b[max])
    {
        max=i;
    }
}
for(j=n+1;j>min+1;j--)
{
    a[j]=a[j-1];
}
a[min+1]=b[max];
printf("%s",a);



/*********End**********/
return 0;

}

第一,对字符数组初始化
第二,改变输入法,用cin代替

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
    int  i, j, n, m, max, min;
    char a[20]= {'0'};//要初始化
    char b[20]= {'0'};
    

    //scanf_s("%s%s", &a,&b);
    cin >> a;//输入法改用cin
    cin >> b;
    min = 0;
    max = 0;
    n = strlen(a);
    m = strlen(b);
   
    for (i = 1;i<n; i++)
    {
        if (a[i] < a[min])
        {
            min = i;
        }
    }


    for (i = 1;i<m; i++)
    {
        if (b[i] > b[max])
        {
            max = i;
        }
    }
    for (j = n; j > min + 1; j--)
    {
        a[j] = a[j - 1];
    }
    a[min + 1] = b[max];
    printf_s("%s", a);
    /*********End**********/
    return 0;
}