和其他代码并列执行此代码时输出空心方框

(本代码目的是将输入的字符换成后面第四个字母,China——>Glmre)

#include <math.h>
#include <stdio.h>
int main(void)

{
        printf("hw 3.6\n");

        printf("请输入五位数密码:\n");
        char c[5];
        int i;

        for(i=0;i<6;i++)      //for循环输入多个字符
        {
            c[i]=getchar();   //将输入的字符赋给变量
        }
        for(i=0;i<6;i++)
        {
            c[i]=c[i]+4;      //将输入的字符换成后面第四个
            c[5]='\0';        //结束
            putchar(c[i]);
        }
        putchar('\n');


    }

 

 

当独立执行此段代码时输出:Glmre

当和其他代码并列执行时输出:Glmr

char c[5];   //只能放四个字符, 第五个位置要放 0. 你要改为 char c[6];

和其他代码并列执行是什么意思,其他程序是什么功能

题主用这个代码试一下

#include <math.h>
#include <stdio.h>
int main(void)
{
    printf("hw 3.6\n");
    printf("请输入五位数密码:\n");
    char c[5];
    int i;
    for(i = 0; i < 5; i++)      //for循环输入多个字符
    {
        c[i] = getchar();   //将输入的字符赋给变量
    }
    for(i = 0; i < 5; i++)
    {
        c[i] = c[i] + 4;      //将输入的字符换成后面第四个
        putchar(c[i]);
    }
    putchar('\n');
}