输入字符串里不正确,应这么写,修改如下,供参考:
#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
遍历,算长度,除二,再遍历。
不写了,意思懂就行。