有个整型变量的问题
我是在Ubunt64位环境下使用gcc编译如下代码的:#include<stdio.h>
int main(void)
{
int a;
short b;
long c;
unsigned long s;
a=3,b=4,c=5;
s=a+b+c;
printf("s=%d\n",s);
return 0;
}
编译的时候提示:
2-6.c: In function ‘main’:
2-6.c:10:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
printf("s=%d\n",s);
^
但是编译是成功的
请问具体的报错原因是什么,为什么明明报错了,结果却是对的。