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;
}
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 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C 语言简单加减乘除运算
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中进制知识汇总
- C语言判断一个数是否是2的幂次方或4的幂次方
- C语言二进制思想以及数据的存储
- C语言中计算正弦的相关函数总结