1、问题

有个long int data;我输出的时候printf("data is %d", data);出现下面警告

linux c之提示format‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long int’ [-Wformat_linux c

自己竟然不知道 长整型怎么打印出来,日了狗。


2、解决办法

md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。


%ld(%mld 也可),输出 长整型数据。


最后 printf("data is %ld", data)解决。






3、总结

%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

%ld(%mld 也可),输出长整型数据。


u格式符,用来输出unsigned型数据, 无符号数,以十进制数形式输出。格式:%u,%mu,%lu都可


希望以后不要犯下这种傻逼错误。