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

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;

       }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值