当前位置: 移动技术网 > IT编程>开发语言>C/C++ > scanf函数的讲解

scanf函数的讲解

2020年03月14日  | 移动技术网IT编程  | 我要评论

another00,吉祥坊不给提现,richwolves

scanf函数的讲解

  • scanf("输出控制符",&变量) &是一个取地址的符号

    # include<stdio.h>
    int main(void)
    {
    int i;
    
    printf("请输入...\n");
    scanf("%d",&i);
    printf("i = %d\n",i);
    
    return 0;
    
    /*
    -----------vc++6.0中输出的结果------------------
    请输入...
    12mmmmmmm
    i = 12
    
    请输入...
    12
    i = 12
    
    请输入...
    mmm344343434
    i = -858993460
    
    心得:
    
    为什么会出现这样得结果呢?原来c语言在执行输入得时候不满足输出控制符得数据都不会录入。所以第二个后面得mmmm就直接省略了。
    
    而如果mmmm在前面得话,系统就会认为你的数据都是错得,就不会把值赋给变量。
    
     ------------------------------------------------
    */
    }
  • scanf("非输出控制符,输出控制符",&变量)

    # include<stdio.h>
    int main(void)
    {
    int i;
    
    printf("请输入...\n");
    scanf(",%d",&i);
    printf("i = %d\n",i);
    
    return 0;
    
    /*
    -----------vc++6.0中输出的结果------------------
    请输入...
    12
    i = -858993460
    
    请输入...
    ,2
    i = 2
    
    请输入...
    【】3
    i = -858993460
    
    心得:
    
    为什么会出现这样得结果呢?
    
    scanf函数中非输出控制符都要原封不动得输入,否则就会报错。
     ------------------------------------------------
    */
    }
  • 在键盘上输入多个变量 scanf("输出控制符输出控制符" ,&变量,&变量)

    # include<stdio.h>
    int main(void)
    {
    int i,j;
    
    printf("请输入...\n");
    scanf("%d,%d",&i,&j);
    printf("i = %d,j=%d\n",i,j);
    
    return 0;
    
    /*
    -----------vc++6.0中输出的结果------------------
    请输入...
    1,2
    i = 1,j=2
    
    请输入...
    12
    i = 12,j=-858993460 
    
    请输入...
    1;2
    i = 1,j=-858993460
    
    心得:
    
      这个和前面讲解的是一样的。任何的非输出控制符都要在输入的时候输入,不然很可能就会进行报错。
    
      第二个输入就是没有在12之间输入非输出控制符导致系统将12认为是一个数赋值给了变量i, 而变量j没有赋值出现垃圾数据
    
      所以说在使用scanf函数的时候不要轻易的添加非输出控制符,或者在前面给用户提示怎么输入数据。
    
     ------------------------------------------------
    */
    }

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网