【发布时间】:2015-12-08 07:36:06
【问题描述】:
考虑以下程序:
#include <stdio.h>
int main()
{
short a=9;
//printf("%hi\n",a);
printf("%d",a); // LINE 6
}
根据this,短类型(有符号)的格式说明符是%hi
short 类型变量是否总是在对其执行任何操作之前自动提升为 int?是未定义的行为,
如果我使用 %d 格式说明符来打印该程序中变量的值?我使用 gcc -Wall -Wextra -WFormat 选项编译它,但仍然
编译器没有显示任何警告。为什么?
【问题讨论】:
标签: c undefined-behavior short format-specifiers type-promotion