一个C语言题。给字符数组赋值并显示在屏幕,直到输入m。为什么实现不了?输入m也没反应啊? 代码如下

一个C语言题。给字符数组赋值并显示在屏幕,直到输入m。为什么实现不了?输入m也没反应啊?
代码如下:
#include<stdio.h>
void main()
{
char a[100];
int i = 0;
while ((a[i] = getchar()) != 'm')
{
i++;
printf("%c", a[i]);
}
}

用getch(),不是getchar()
另外
printf("%c", a[i]);
i++;
这两行要对调的吧。追问

非常感谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-25
#include<stdio.h>
void main()
{
char a[100];
int i = 0;
while ((a[i] = getchar()) != 'm')
{
printf("%c", a[i]);//先输出再i++,不然你都指向下一个元素了,打印出错啊
i++;
}
}
第2个回答  2013-12-25
把getchar的括号去了看看,不行了就写开
相似回答