修改如下,供参考,题主未理解for()循环的执行顺序:
#include <stdio.h>
int main()
{
char a[26];
int i, j, n = 0;
for (i = 0; i != 0 ? a[i - 1] != '\n' : a[i] != '\n'; i++)
{
scanf("%c", &a[i]);
n++;
}
a[i] = '\0';
printf("%d", n);
puts(a);
return 0;
}