c语言里格式控制符与所输出的数据类型不一致时出现的问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:49:16
使用printf函数输出数据时,如果使用的格式控制符与所输出的数据类型不一致,可能出现意想不到的结果。

printf("%ld,%8ld,%ld\n",7000,70000l,70000l);

很显然这条语句有毛病,结果也是奇怪,但怎么从数据的存储角度解释
我用tc 2.0 编译

应该是储存器溢出

这条语句在VC6.0即VS.NET2005下输出正常

7000, 70000,70000

并没有出现你说得奇怪的结果。

数据的存储方式C标准没有规定,所以你所说的结果异常应该是与编译器和OS相关的,不是C的普适问题,