c语言如何在输出一句字符串后不换行进入循环再继续输出?

img

#include

int main()
{
char str[80];
int i=0;
printf("hi,");
do{
str[i] = getchar();
i++;
}while( str[i-1]!='\n' );
printf("i am ");
for( int j=i; j>=0; j--){
printf("%c",str[j]);
}
return 0;
}


#include<stdio.h>
int main()
{
    char str[80];
    int i=0;
    printf("hi,");
    do{
        str[i] = getchar();
        i++;
    }while( str[i-1]!='\n' );

    printf("i am ");
    for( int j=i-2; j>=0; j--){
        printf("%c",str[j]);
    }
    return 0;
}

img

再继续输出什么呢????

供参考:

#include<stdio.h>
int main()
{
    char str[80];
    int i = -1;    //修改
    printf("hi,");
    do{
         i++;      //修改
         str[i] = getchar();
    }while(str[i]!='\n');
    str[i] = '\0'; //修改

    printf("i am %s", str); //修改

    //for(int j=i-1; j>=0; j--){ //修改
    //     printf("%c",str[j]);
    //}

    return 0;
}