我正在尝试打印反向字符串,但是最后一个字符是错误的

时间:2019-12-01 15:03:09

标签: arrays string getchar putchar

我对字符串有问题。你能帮我吗?这是代码:

int main(){
    int i,j,n;
    char x[100],y[100];
    do{
        printf("How many characters? (100>n>1) ");
        scanf("%d",&n);
        if(n>100||n<1){
            printf("Insert another number. ");
        }
    }while(n>100||n<1);
    for(i=0;i<n;i++){
        x[i]=getchar();
    }
    x[i+1]='\0';
    i=0;
    j=n;
    while(i<n){
        y[i]=x[j];
        i++;
        j--;
    }
    for(i=0;i<n;i++){
        putchar(y[i]);
    }
    return 0;
}

基本上x []是一个字符串,y []是x [],但是相反。现在的问题是x []中的最后一个字符和y []中的第一个字符发生了变化,例如,如果我写“ hello”,则o变为空格。我尝试过对其进行一些编辑,但我只是不明白错误在哪里。预先感谢!

0 个答案:

没有答案