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

来源:互联网 发布:最高人民法院网络拍卖 编辑:程序博客网 时间:2024/06/05 15:12

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
原创粉丝点击