程序读一条消息,然后逆序打印这条消息

img


输出结果不对,是哪里错了呀?
找了半天没找到错误😭
(水一下字数)

输入字符串里不正确,应这么写,修改如下,供参考:

#include <stdio.h>
#define N 100
int main()
{
    int i,k;
    char a[N];

    printf("Enter a message:");
    for(i = 0;(*(a+i)=getchar())!='\n';i++);//getchar()!='\n' 修改

    k = i - 1; // k = i; 修改
    printf("Reversal is:");
    for(;k>=0;k--)
        putchar(*(a+k));
    return 0;
}

k = i - 1才行

推荐使用下标(a[i])的方式来访问数组元素
在第一个循环的条件,最好是加上i < N,这样程序更健壮
K的初始值为i - 1