c语言关于getchar()的问题,小弟菜鸟,望高手帮忙解答

int main()
{
char a[5]={0};
int i=0;
while ( (a[i]=getchar()) != '\n' )
{
i++;
}
for (int i=0;i<5;i++)
{
cout<<i<<a[i]<<endl;
}

system("PAUSE");
return 0;
}
当我输入ab回车时结果显示数组下标为3,4的也被附上了值a请问这是为什么 啊,有什么方法可以让后面的不被赋值
最新回答
软耳兔兔

2024-11-29 12:49:14

ab
a[0]=a
a[1]=b
a[2]=

a[3]=
a[4]=
Press any key to continue
#include <iostream.h>
#include "stdio.h"

int main()
{
char a[5]={0};
int i=0;
while ( (a[i]=getchar()) != '\n' )
{
i++;
}
for (i=0;i<5;i++)
{
cout<<"a["<<i<<"]="<<a[i]<<endl;
}
return 0;
}

没有被赋值啊 a[0]=a a[1]=b a[2]=\n a[3] a[4]为空啊
待在绿匣里的猫

2024-11-29 12:06:09

不会吧?
0是a
1是b
2是回车
3和4都是空
你确定有值?