C语言中,格式控制字符问题%d,%hd,%ld等的问题

2025-02-23 13:33:49
推荐回答(1个)
回答1:

用做printf的时候,会根据格式字符串做转换
比如 printf(“%d”,a); 等效于 printf(“%d”,(int)a);
这个是可以混用的,用错了关系也不大,除非很极端的情况,输出都不会错。

但是scanf中不能用错。 比如说
short a;
scanf("%d", &a);
a是short只有2个字节的空间, 用%d scanf会写四个字节,这个就越界了。