• scanf加不加 ?


    近两天用vs2013敲代码碰到的问题

    关于scanf小括号中加不加 的区别

    例程序如下所示:

    第一个程序:

     1 int main(){
     2     int coding = 0;
     3     printf("你会去敲代码吗?(选择1 or 0):>");
     4     scanf_s("%d", &coding);
     5     if (coding == 1)
     6     {
     7     printf("坚持,你会有好offer
    ");
     8     }
     9     else
    10     {
    11     printf("放弃,回家卖红薯
    ");
    12     }
    13     return 0;
    14 
    15 }

     第二个程序:

    //int main(){
    //    int coding = 0;
    //    printf("你会去敲代码吗?(选择1 or 0):>");
    //    scanf_s("%d
    ", &coding);
    //    if (coding == 1)
    //    {
    //    printf("坚持,你会有好offer
    ");
    //    }
    //    else
    //    {
    //    printf("放弃,回家卖红薯
    ");
    //    }
    //    return 0;
    //
    }

    第一个不加 的结果:

    第二个加 的,

    运行结果:scanf中多敲了一个 ,运行时候就要多敲一个键加上回车,否则一直按回车键都将无法继续打印,而且第二个程序运行时任意输入两个数,运行结果只识别第一个数,与第二个输入的数无关,ps:6在程序中运行结果为“回家卖红薯“

     而且,

            换成“空格”也一样

    原因:在此vs编译环境中,运行结果要多输入一个数,而且只有第一个输入的值影响程序结果,第二个数不影响程序

    理解:加了一个 代表要在新的换行里多输入一个代码,加了空格也是如此,同理也要多输入一个代码(但是输入代码不能为纯空格键),即%d后面为多输入的代码,不影响程序运行的结果。

    结论:通常在scanf(“   “,);中,引号里不加 。

  • 相关阅读:
    多线程之线程同步中的锁定lock、Monitor(转)
    信号同步
    窗体间传值的最佳方式
    Semaphore的理解
    推荐算法相关
    基于Spark的GBDT + LR模型实现
    基于Spark和Tensorflow构建DCN模型进行CTR预测
    神经网络(未完)
    互联网金融借款违约预测
    Python3基础复习
  • 原文地址:https://www.cnblogs.com/hetaoyuan/p/10036076.html
Copyright © 2020-2023  润新知