问题描述
- 求问:C语言 格式限定符类型的问题
-
有时不小心错用了格式限定符,例如:
int x;
scanf("%f", &x); <----- 应该用%d
printf("%g", x); <----- 应该用%d
而编译程序却编译通过了,没有发现错误,为什么?
解决方案
c语言中有强转这个东西,从这个角度也可以理解,c语言功能之所以强大,是因为限制很少,说白了,什么类型在内存中都是连续的01而已
解决方案二:
编译器不会检查这些的。这很正常。好比你的汽车不会阻止你闯红灯一样。
解决方案三:
楼上说得对。这些只能自己好好看书。
时间: 2024-12-28 16:52:43