C语言中输出printf("%%05d\n",--a);中两个%%是什么意思

如题所述

C语言输出中%%是对输出的%进行转义,楼主的这句不对,应该是printf ("%%%05d\n", --a);
这样输出的就是%a的值。追问

课本上只有2个%

也许是课本错了吧!

追答

嗯,是错了,前两个%%是输出一个百分号,后面的才是对a的输出

追问

嗯嗯,那如果a=1234那答案是什么

追答

%01234

追问

嗯嗯,课本上答案竟然是是%05d

追答

如果只有两个%的话答案是你说得那个答案

追问

请问那个0为什么要置前,谢谢了

只有2个%,能解释一下吗

追答

如果是%05d这样的输入格式,表示输出数字占5位,如果数字不足5位,那么就前面用0填充。

第一个%的作用是转义第二个%,所以后面就够不成%05d,05d会作为字符串输出。

追问

嗯嗯,那为什么2个%时输出是%05d,3个时是你的那个答案

哦哦,懂了,谢谢

追答

两个%的时候第一个%的作用是转义第二个%,所以后面就够不成%05d,05d会作为字符串输出。

追问

3个呢

追答

记得给个采纳哦

追问

嗯嗯,会的

追答

三个也是一样啊,第一个转义第二个%,剩下的一个就和后面的构成了%05d了。

温馨提示:答案为网友推荐,仅供参考
相似回答