首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

测试顺序表结构,在getchar那里又遇到有关问题了

2012-09-04 
测试顺序表结构,在getchar那里又遇到问题了代码:C/C++ code#includestdio.h#includeconio.h#includem

测试顺序表结构,在getchar那里又遇到问题了
代码:

C/C++ code
#include<stdio.h>#include<conio.h>#include<malloc.h>#include<string.h>#define MAX 3typedef struct {char s[MAX][20];int last;}SeqList;SeqList *Init_SeqList(SeqList *L){L=(SeqList *)malloc(sizeof(SeqList));L->last=-1;return L;}void main(){SeqList *L;char c[3];char l;int i;int j;L=Init_SeqList(L);for(i=0;i<MAX;i++){printf("please input a char:\n");for (j=0;j<3;j++){l=getchar();c[j]=l;}strcpy(L->s[i],c);L->s[i][3]='\0';L->last++;}L->s[L->last][20]='\0';printf("---%s--\n",L->s[0]);printf("---%s--\n",L->s[1]);printf("---%s--\n",L->s[2]);//printf("%s\n",L->s);}

 
问题:用getchar总是会把回车算进字符串c里面,不能实现存入理想的字符串,而且,如果在l=getchar后面再加一个getchar();就会失去第一个输入的字符,从第二个字符开始存入c[j],总之,问题就出在输入输出的问题上了。大家看看吧。

[解决办法]
fflush
[解决办法]
++

for (j=0;j<3;j++)
{
l=getchar();
fflush(stdin);//加上这句。
c[j]=l;
}


探讨
fflush

[解决办法]
探讨
++

for (j=0;j<3;j++)
{
l=getchar();
fflush(stdin);//加上这句。
c[j]=l;
}



引用:
fflush

热点排行