#include "stdio.h" void main() { int a=2,b=5; printf("a=%d%d,b=%d%d\n",a,b);} 的结果是?为什么?谢 10

答案是:a=%d,b=%d,为什么是这样呢?!... 答案是:a=%d,b=%d,为什么是这样呢?! 展开
 我来答
easycker
2011-02-08 · 超过14用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:44.9万
展开全部
这是格式化输出
结果是 a=25,b=00
为什么,因为a=%d%d已经使用了后面的a,b两个参数了。而b=%d%d的两个%d没有参数,默认输出0

但是你要小心,不定参数函数的使用,像这样容易导致堆栈出错。有可能程序会崩溃。或者更严重的问题。
hartx
2011-02-08 · TA获得超过332个赞
知道答主
回答量:199
采纳率:0%
帮助的人:153万
展开全部
结果是compiler报错

因为在printf中,双引号中每一个%d需要提供一个相对应的int类变量或者值.
你的语句中有4个%d,但是只提供了a,b两个变量,所以会出现类似
too few arguments for format
这样的报错信息.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
名字303560
2022-08-04
知道答主
回答量:2
采纳率:0%
帮助的人:557
展开全部
转义字符两个%即“%%”表示输出一个百分号,后边的d不构成转义字符在printf语句中原样输出,所以结果为a=%d,b=%d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sun_siliang
2011-02-08 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4237万
展开全部
程序的执行结果为:
a=25,b=67838516230132078
其中25中的2是a的值,5是b的值;b=67838516230132078随机器而变化。

//我认为程序应该改为下面才正确:
#include "stdio.h"
void main()
{
int a=2,b=5;
printf("a=%d,b=%d\n",a,b);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e7886d4
2011-02-09 · TA获得超过1502个赞
知道小有建树答主
回答量:1195
采纳率:0%
帮助的人:263万
展开全部
\t是制表符,就是类似于一个字符,你退一格就是退一个\t,\t不是8个空格组成的,他自己是一个,只是长度等于8个空格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式