早教吧 育儿知识 作业答案 考试题库 百科 知识分享

对于非负int型数据,不可采用的格式说明是:A、%xB、%dC、%ldD、%u答案是C,为什么?

题目详情
对于非负int型数据,不可采用的格式说明是: A、%x B、%d C、%ld D、%u 答案是C,为什么?
▼优质解答
答案和解析
%ld 表示类型long int的输出,如果使用如下方式将会有问题:
int a = 9;
printf("%ld\n",a);
实际上,上面的输出结果是不确定的,因为以a的地址读一个long int长度的数据已经超出了int的存储空间,那么结果是除了读取9之外,还会读取a地址前的4字节数据.
所以答案只能在A,B,D中,原因就在于这里的长度修饰符“l".