c - Termux gcc compile



目前我正在学习C语言当我尝试使用gcc pointer.c编译一个简单的指针代码时
代码是

#include <stdio.h>
int main(){

int a=57;
printf("The value of a is %d n",a);
printf("The address of a is %un",&a);

return 0;
}

然后我得到了这个错误(实际上是警告)如图所示输入图片描述

但我看到它编译了我的代码,并成功运行,如图所示输入图片描述

我想知道为什么它给出错误

应该使用%p而不是%u来显示指针地址。您的代码将是:

#include <stdio.h>
int main()
{
int a=57;
printf("The value of a is %d n",a);
printf("The address of a is %pn",&a);
return 0;
}
#include <stdio.h>
int main()
{
int a=57;
printf("The value of a is %d n",a);
printf("The address of a is %pn",(void*)&a);
return 0;
}

变量的地址是一个整数数字量,用于打印这个数量的格式说明符是%p(用于打印十六进制形式的地址)%lld(用于打印十进制地址). 为了打印变量的地址,我们使用&和变量名。%p指定符期望void*.

相关内容

  • 没有找到相关文章

最新更新