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

C语言顺序表里的小疑点

2012-04-09 
C语言顺序表里的小问题一个几乎很菜的问题……一个小程序:#includestdio.htypedefstruct list{charelem[10

C语言顺序表里的小问题
一个几乎很菜的问题……
一个小程序:
#include<stdio.h>
typedef struct list{
  char elem[100]; //静态线性表
  int length; //表的实际长度
  }SqList; //顺序表的类型名
void main()
{
int i;
SqList list;
printf("请输入长度值为:");
scanf("%d",&list.length);
printf("请输入元素值为:");
for(i=0;i<list.length;i++)
{
scanf("%c",&list.elem[i]);
}
for(i=0;i<list.length;i++)
{
printf("%c",list.elem[i]);
}
printf("\n");

}
为什么当输入长度为7、输入abcdefg时,输出只有abcdef。
输出永远比长度少1?

[解决办法]
scanf("%c",&list.elem[i]);
第一个元素把上面的回车读进去了
[解决办法]
scanf("%d",&list.length);
fflush(stdin);
[解决办法]
之间加个
getchar();//吃掉回车.
[解决办法]
之间加个
getchar();//吃掉回车.

这是一种方法,还有很多种方法

热点排行