• 转:scanf的用法


    https://blog.csdn.net/u012421456/article/details/18501309

    scanf()【通过键盘将数据输入到变量中】

    它有两种用法:

    用法一: scanf(“输入控制符”,输入参数);

    功能:  将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中。

    例如:

    1.  
      # include <stdio.h>
    2.  
       
    3.  
      int main(void)
    4.  
      {
    5.  
      int i;
    6.  
      scanf("%d",&i);//如果输入123
    7.  
      printf("i=%d ",i);//输出结果为i=123
    8.  
      return 0;
    9.  
      }

    用法二: scanf(“非输入控制符 输入控制符”,输入参数);

    功能: 将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中(非输入控制符必须原样输入)。

    例如:

    1.  
      # include <stdio.h>
    2.  
       
    3.  
      int main(void)
    4.  
      {
    5.  
      int i;
    6.  
      scanf("m%d",&i);//输入m123正确,输入123错误
    7.  
      printf("i=%d ",i);//输入m123,输出结果为i=123
    8.  
      return 0;
    9.  
      }

    另外,需要注意的是,在使用scanf之前最好再使用printf进行操作说明(即提示用户以什么样的方式进行输入)

    例如:

    1.  
      # include <stdio.h>
    2.  
       
    3.  
      int main(void)
    4.  
      {
    5.  
      int i,j;
    6.  
       
    7.  
      printf("请输入两个数,中间用空格或回车隔开:");
    8.  
      scanf("%d %d",&i,&j);//输入的两个数之间是空格或回车
    9.  
      //scanf("%d,%d",&i,&j);//输入的两个数之间是逗号(逗号是一个非输入控制符,非输入控制符必须原样输出)
    10.  
      printf("i=%d j=%d ", i, j);
    11.  
       
    12.  
      return 0;
    13.  
      }

    还有,scanf中尽量不要使用非输入控制符,尤其不要使用 

    例如:

    1.  
      # include <stdio.h>
    2.  
       
    3.  
      int main(void)
    4.  
      {
    5.  
      int i,j;
    6.  
       
    7.  
      //使用scanf之前最好先使用printf进行一个操作说明,另外scanf中尽量不要使用非输入控制符,尤其不要用
    8.  
      printf("请输入两个值,中间用空格或回车隔开:");
    9.  
      //scanf("%d %d ",&i,&j);//在scanf中不要使用 ,这样不好
    10.  
      scanf("%d %d",&i,&j);//输入的两个数之间是空格或回车
    11.  
      //scanf("%d,%d",&i,&j);//输入的两个数之间是逗号 逗号是一个非输入控制符,非输入控制符必须原样输出
    12.  
       
    13.  
      printf("i=%d j=%d ", i, j);
    14.  
       
    15.  
      return 0;
    16.  
      }

    最后,为了防止当程序中有多个输入时,用户在前边的输入有误导致影响到下面的输入,我们可以在输入的后边添加一个

    while ( (ch=getchar()) != ' ')

    continue;   

    例如:

    1.  
      # include <stdio.h>
    2.  
       
    3.  
      int main(void)
    4.  
      {
    5.  
      int i;
    6.  
      char ch;//添加字符数据
    7.  
       
    8.  
      scanf("%d",&i);
    9.  
      printf("i = %d ",i);
    10.  
       
    11.  
      while ( (ch=getchar()) != ' ')//把用户前边的非法输入消除!!!
    12.  
      continue; //重点!
    13.  
      int j;
    14.  
      scanf("%d",&j);
    15.  
      printf("j=%d",j);
    16.  
       
    17.  
      return 0;
    18.  
      }

    好了, 以上就是scanf的基本用法 ,第一次写博客, 感觉有些吃力,相信以后会好一些. 

     【所有代码均在window系统下VC6.0下运行通过】

  • 相关阅读:
    vsCode 使用 PHP Intelephense插件函数跳转跟踪
    acme.sh 生成证书一直卡在Getting domain auth token for each domain
    用命令行执行php脚本输出乱码
    js检测是否是手机平台
    个人知识结构索引
    离线环境下安装ansible,借助有网环境下pip工具
    zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本
    使用ansible结合FTP部署zabbix_agent
    datax的可视化-datax-web
    Finereport决策报表
  • 原文地址:https://www.cnblogs.com/jacklong-yin/p/9408529.html
Copyright © 2020-2023  润新知