main() {int a=2,b=5; printf("a =%%d,b=%%d,a,b); },输出的结果为什么a=%d,b=%d呢?我一直搞不懂,谢谢!

我是初学者,很多不会,所以也许这是一个简单的问题,但是你能用2分钟回答一下吗?万分感谢................ 我是初学者,很多不会,所以也许这是一个简单的问题,但是你能用2分钟回答一下吗?万分感谢............. 展开
 我来答
White_MouseYBZ
推荐于2017-12-25 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:5770万
展开全部

由于单个的%有别的用处,所以要输出单个%时必须双写成%%,显然上例中%%d就只输出%d了;按C/C++“贪心法”%%d被解释成(%%)d而不会解释成%(%d)。如果想达到输出“%d”的效果,得写成%%%d才可以,这就被解释成(%%)%d了,最后输出就是%X形式。如:

#include "stdio.h"
int main(int argv,char *argc[]){
int a=24;
printf("a = %%%d\n",a);
return 0; 
}

输出样例:

runapp
2011-11-07 · 超过31用户采纳过TA的回答
知道答主
回答量:151
采纳率:0%
帮助的人:74.1万
展开全部
%符号会将它后面的一个字符转义,比如%d就代表数字,%s代表字符串,而%%就代表%字符
第一个%是转义符号,第二个%是告诉printf函数要输出%
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式