您好我无法弄清楚下面的代码如何生成输出为ffffffaa请帮助我理解
#include<stdio.h>
int main()
{
int a=0xaaaaaaaa;
char *p=(char*)&a;
printf("%x\n",*p);
}
Run Code Online (Sandbox Code Playgroud)
变量函数,例如在其尾随参数上printf执行默认参数提升.A char被提升为a int并且当char在平台上签名时执行符号扩展.
要避免使用符号扩展名,请在程序调用中使用unsigned char类型或强制*p转换.unsigned charprintf