您的位置:首页 > 其它

关于scanf与gets的区别和杭州电子科技大学2024程序中出现getchar()

2014-08-09 16:55 302 查看
下面我就杭州电子科技大学的2024讲解

 

杭州电子科技大学2024

#include<stdio.h>

#include<string.h>

int main()

{

    int i,n;

    char a[50];

    //scanf("%d\n",&n);   // scanf()里面的\n是为了吸收输入时由键盘输入的换行符(因为gets能将换行符吸收, 因为scanf()语句能拦截空格和换行符下面有说道)

    scanf("%d", &n);

    getchar();                   //用来接收输入n后的回车键;

        while(n--)

        {

           // scanf("%s", a);//   scanf语句如果一个数组中包含一个以上'\0',则在遇见第一 个'\0'时输入就结束, 因为scanf语句能把空格换行符等给消除掉所以平时不需要用到getchar或者scanf("   \n");

            gets(a);               //  gets语句能把空格输入, 不会遇见空格就结束

            int t=0,k=0;

                for(i=0;i<strlen(a);i++)

                {

                    if( (a[i]=='_') || (a[i]>='a'&&a[i]<='z') || (a[i]>='A'&&a[i]<='Z') || ( a[i]>='0' && a[i]<='9') )

                        t++;

                }

                if(t==strlen(a))

                   k=0;

                else

                    {

                        printf("no\n");

                        k=1;

                    }

           if(k==0)

      {

   if(a[0]<='9'&&a[0]>='0') printf("no\n");

   else printf("yes\n");

      }

        }

    return 0;

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