2010-03-27 54 views
2

这里是我的编码,其给我的错误“警告:未知的转换型性格0x20的格式”c语言:printf的帮助

int subtotal; 
long long a,b,c,d,e,f,g,h,i,j,k,l,m; 
subtotal = (1*(a+c+e+g+i+k))+(3*(b+d+f+h+j+l)); 
printf(" = %d % 10 = %d; (10 - %d) % 10 = %lld\n", subtotal,subtotal%10,subtotal%10,m); 

任何想法,为什么这是错的?

回答

6

忽略你有一堆未初始化变量的事实,%字符是printf格式字符串中的一个特殊字符 - 如果你想要一个字面'%',你需要'%%'。

printf(" = %d %% 10 = %d; (10 - %d) %% 10 = %lld\n", subtotal,subtotal%10,subtotal%10,m); 
+0

啊控制台上%,非常感谢你! – dydx 2010-03-27 15:16:02

3

printf你需要一个转义字符打印您需要使用%%

+1

s /控制台/标准输出/ – Jens 2012-05-16 21:43:52