zoukankan      html  css  js  c++  java
  • 对C转换说明符的误解以及关于数组的一些知识

    事实上,scanf()函数中%c并非是用来输入单个字符的,而是用来输入一组字符的。

    例如:

    char a[3];
    scanf("%3c",a);

    其中“3”规定了输入数据的宽度,当然宽度为“1”的时候,%c确实可以用来输入单个字符。但是认为

    %c这个格式转换只是用来输入单个字符的确实大错特错,而且可能会产生一个很严重的潜在的BUG。

    联系下%nd,n规定了输入数据的宽度,但是与%nc不同的是,%nd只是输入了单个整形数据,这个整形数据宽度不大于n。

    复习下关于数组的知识点:

    初始化中给数组部分元素赋值,那么剩下的元素系统默认赋值0.

    如果是在输入中给部分元素赋值,剩下的没有赋值的元素,其值是随机数。

    形参中对数组的定义,如double a (double a[n]),这个n是没有意义的,因为形参类型double[n],

    而调用时作为实参的数组名类型确实double *,也就是说这里的实参本质只是一个指向某个double类型数据的指针而已,

    它本身并不包含任何数组大小方面的信息。正确的写法是double a (double [],int ).

  • 相关阅读:
    jsp第八次作业
    jsp第七次作业
    jsp第六次作业
    jsp第五次作业
    jsp第二次作业
    软件测试第一次作业
    第一本书的学习笔记
    第零次作业
    software engineering task0
    自己创建的mysql用户无法使用密码登录,直接用用户名就可以登录的问题
  • 原文地址:https://www.cnblogs.com/TX980502/p/6740989.html
Copyright © 2011-2022 走看看