投入就放过 发表于 2022-3-24 17:23:43

c 语言scnaf函数

#include <stdio.h>

int main(void)
{
    int a={0};
    int i;
    char s;
    scanf("%s",s);
    for(i=0;s!='\n';i++)                             //在这个for循环里scanf在接受输入的时候不应该也接受了回车吗,这里好像不行,只有在'\0'的时候才能退出循环
    {
      switch(s-'0')
      {
            case 0:a++;break;
            case 1:a++;break;
            case 2:a++;break;
            case 3:a++;break;
            case 4:a++;break;
            case 5:a++;break;
            case 6:a++;break;
            case 7:a++;break;
            case 8:a++;break;
            case 9:a++;break;
      }
    }
    for(i=0;i<10;i++)
    {
      if(a)
      {
            printf("%d:%d",i,a);
            if(i<9)
            {
                    putchar('\n');
                        }
      }
    }
    return 0;
}

isdkz 发表于 2022-3-24 17:25:36

你回车的时候它只会当你输入完成了,并没有收到换行符

jackz007 发表于 2022-3-24 17:50:46

      scanf() 不能接收回车符,getchar() 和 gets() 才能接收。

投入就放过 发表于 2022-3-24 17:53:18

jackz007 发表于 2022-3-24 17:50
scanf() 不能接收回车符,getchar() 和 gets() 才能接收。

懂了懂了感谢大佬!
页: [1]
查看完整版本: c 语言scnaf函数