2 sinat 32746777 sinat_32746777 于 2016.03.05 17:25 提问

求问:C语言 格式限定符类型的问题

有时不小心错用了格式限定符,例如:
int x;
scanf("%f", &x); <----- 应该用%d
printf("%g", x); <----- 应该用%d
而编译程序却编译通过了,没有发现错误,为什么?

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.05 17:59

编译器不会检查这些的。这很正常。好比你的汽车不会阻止你闯红灯一样。

Eric_abcde
Eric_abcde   2016.03.07 13:25

c语言中有强转这个东西,从这个角度也可以理解,c语言功能之所以强大,是因为限制很少,说白了,什么类型在内存中都是连续的01而已

baijiaheizhiganmao
baijiaheizhiganmao   2016.03.05 23:14

楼上说得对。这些只能自己好好看书。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言的volatile类型限定符
C语言的volatile类型限定符 volatile限定符的用法volatile限定符告诉计算机,代理(而不是变量的所在的程序)可以改变该变量的值。通常,它被用于硬件地址以及在其他程序或同时运行的线程中共享数据。例如,一个地址上可能存储着当前的时钟时间,无论程序做什么,地址上的值都随时间的变化而变化。或者一个地址用于接收另一台计算机传入的信息。
C语言中类型限定符(qualifier)之一const
C语言中连个类型限定符:const和volatile。用来对以下的类型说明符进行限定:void ,char ,short ,int ,long ,float ,double ,signed ,unsigned ,结构或联合,说明符,枚举说明符,类型定义名。 “类型限定符可与任何类型说明符一起使用。可以对const 对象进行初始化,但在初始化以后不能进行赋值。”《C程序语言设计(第2版
C存储类型符和类型限定符
C存储类型和类型限定符 (刘爱贵 - Aiguille.LIU)   C存储类分为两类:自动存储类(automatic)和静态存储类(static)。声明对象时使用的存储类说明符以及声明的上下文共同决定了对象的存储类。     自动存储类对象对于一个程序块来说是局部的,在退出程序块时该对象将消失。     (1) 如果没有使用存储类说明符,或者如
C语言的restrict类型限定符
C语言的restrict类型限定符 restrict限定符的用法restrict关键字允许编译器优化某部分代码以更好地支持计算。它只能用于指针,表明该指针是访问该对象唯一且初始的方式。要弄明白为什么这样做有用,先看几个例子。考虑下面的代码:int ar[10]; int * restrict restar= (int *) malloc(10 * sizeof(in
C语言的const类型限定符
C语言的const类型限定符 C语言有哪些类型限定符我们通常用类型和存储类别来描述一个变量。C90还增加了两个属性:恒常性(constancy)和易变性(volatility)。这两个属性分别用关键字const和volatile来声明,以这两关键字创建的类型是限定类型。C99标准新增了第3个限定符:restrict,用于提高编译器优化。C11新增了第四个限定符:_Atomic
C语言中const、volatile、restrict等类型限定符的区别
auto、register、static、extern是属于存储类修饰符。在声明时,存储类修饰符最多只能使用一个,而且无法用在typeof声明中。 而类型限定符是指const、volatile、restrict。声明中可以使用多个类型限定符,顺序没有限制。另外,类型限制符可
C语言:基本数据类型,限定符,大小范围
所谓数据类型是按被说明量的性质,表示形式,占据存储空间的多少,构造特点来划分的。在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类 基本数据类型      基本数据类型最主要的特点是,其值不可以再分解为其它类型;在C语言中,只有4种基本数据
C++ 中的类型限定符
C++ 中的类型限定符
C语言格式修饰符洋解
 格式修饰符:最小域宽限定符:百分号和格式代码间的整数称为最小域宽限定符,它保证输出时用空格填充以达到最小域宽。默认为空格,如果想用0来填充,那么在域宽限定符前放一个0。如:%05d将对不是五位数的输出数字填充0以达到最小域宽。精度限定符:如:%10.4f 该数至少10个字符宽,精确到小数点后面4位。对齐输出:默认时,所有输出均为右对齐。可以通过在百分号后加一个减号来迫使数据向域左边界对齐.如:%
说明符和限定符
有些被称为存储说明符或cv-限定符的C++guanjz