#include"stdio.h" main() { int i,s=0; for(i=1;i<10;i++) if(!(i%2)&&!(i%3))s+=i; printf("%d\n",s);}

为什么是6而不是000006... 为什么是6而不是000006 展开
 我来答
匿名用户
2013-02-15
展开全部
因为是%d类型的,这是一个整数,在人类的逻辑中,如果是一个整数那么00006就等于6,,0001就等于1.如果你想输入6的话,那要写%c格式的,字符形式。
00006字符和6这个字符是不一样的。
当然这个题,是求一个累加和,这个累加和必然用整形或者浮点型存着,用char字符型没啥意义。当然,需要也可以。
来自:求助得到的回答
dagewxw
2013-02-15 · TA获得超过5929个赞
知道大有可为答主
回答量:3523
采纳率:67%
帮助的人:976万
展开全部
#include"stdio.h"
main()
{
int i,s=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))
s+=i;
printf("%06d\n",s);
}
要想输出000006要控制格式,%06d,指的是按6位输出,没有的补0.
追问
if语句为假,不是应该执行printf语句吗,为什么没有输出0
追答
for语句没有加括号,循环里边只包括if一条语句,printf是循环语句外面的
for的循环体如果有多条语句,必须用{}包裹起来,否则循环只执行紧跟for的后一条语句
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式