您的位置:首页 > 编程语言 > C语言/C++

C语言的输入输出-几个函数的使用比较

2016-07-24 19:24 253 查看
1、gets、puts 函数可以一整行的字母输入输出%s,字符数组,无论中间有没有空格,按完enter就可以了;

2、scanf比较灵活,如果是单个字符%c就可以,一个字符的输入,但是在循环输入中,有空格或者换行符也会被当做字符输入的。所以中间不能有空格出现;

3、对于scanf函数来说,如果是字符数组的输入%s的出现,则如果中间出现空格或者换行符都会被当做结束符,这与gets是不同的,gets是遇到换行符就结束了。用gets输入的时间比用scanf要快。

4、输入一段连续用都用逗号或者空格隔开的数字的方法是,前提是建立了一个比较大的数组:

while(1)

{

scanf("%d",&n[i++]);

if(getchar()=='\n')

{

break;

}

}

数组大小未知的情况则可以这么做:

只能用链表才能行。

头插法:

typedef struct note

{

int value;

struct note* next;

}link,*plink;

int main()

{

int i=0,j=0;

plink head=(plink)malloc(sizeof(link));

head->value=0;

head->next=NULL;

while(1)

{

plinknewLink=(plink)malloc(sizeof(link));

scanf("%d",&(newLink->value));

newLink->next=head->next;

head->next=newLink;

if(getchar()=='\n')

{

break;

}

i++;

}

while(head->next!=NULL)

{

head=head->next;

printf("%d ",head->value);

}

return 0;

}

清空链表需要两个指针指向头指针:

p=head->next;

q=head->next;

while(q!=NULL)

{

q=q->next;

free(p);

p=q;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言