int a;
char b;
for(int i=0;i<3;i++)scanf("%d ",&a);
for(int i=0;i<3;i++)scanf("%c ",&b);
键盘输入的时候有区别 输入int型的时候 输入几个数字中间用空格隔开
输入字符型的时候 输入的字符间不能有空格 因为空格本身也是一种字符
#include<stdio.h> #include<conio.h> typedef struct { int weight; int parent,lchild,rchild; }HTNode; typedef struct{ char data; int weight ; char code[10]; }HTCode; void Init(HTCode hc[],int *n){ int i; printf("input n="); scanf(" %d",n); // fflush(stdin);/*清空输入缓冲区*/ printf("input %d chatacter:",*n); for(i=1;i<=*n;i++)hc[i].data=getch(); /* getch()是从键盘读取数据, 而getchar()是从从stdin流中 读入一个字符用getch的时候不需要清空缓冲区, 其它两种方法时需要 for(i=1;i<=*n;i++)scanf("%c",&(hc[i].data)); for(i=1;i<=*n;i++)hc[i].data=getchar(); fflush(stdin); */ printf("\ninput %d weight:",*n); for(i=1;i<=*n;i++)scanf("%d",&(hc[i].weight)); } int main(){ HTCode hc[10]; int i,*n; Init(hc,n); for(i=1;i<=*n;i++)printf("\n%c--%d",hc[i].data,hc[i].weight); printf("\n"); return 0; }