实现输入字符串的倒序,我这个程序每次倒序都没有第一个字符,请帮忙看下为啥第一个被吞了,我实在看不出来
#include
#include
int main()
{
char a[100];
for(int m=0;scanf("%c",&a[0])!=EOF;m++)
{
int j=0;
while((a[j]=getchar())!='\n')
{
j++;
}
for(int i=j-1;i>=0;i--)
printf("%c",a[i]);
}
return 0;
}
j 要初始化为 1; 因为上面 a[0] 已经初始过值了,你后面 j = 0, 那不是 a[0] 又重新赋值了嘛
int j=1;
外层for()循环多余,修改如下,供参考:
#include <stdio.h>
#include <string.h>
int main()
{
char a[100];
//for (int m = 0; scanf("%c", &a[m]) != EOF; m++) 修改
//{ 修改
int j = 0;
while ((a[j] = getchar()) != '\n')
{
j++;
}
for (int i = j - 1; i >= 0; i--)
printf("%c", a[i]);
//} 修改
return 0;
}