求大神解答,一个很简单的C语言问题,谢谢了。

程序如下:#include<stdio.h>voidmain(){longintnum,sum;printf("pleaseinputthenum:\n");scanf(... 程序如下:
#include <stdio.h>
void main()
{
long int num,sum;
printf("please input the num:\n");
scanf("%d",&num);
if(num/10000==0)
{if(num/1000==0)
{if(num/100==0)
{if(num/10==0)
{if(num/1==0)
printf("the num is 0\n");
else
printf("the num is one-digit num\n");
sum=num;
}
else
printf("the num is two-digit num\n");
sum=(num/10)+(num%10);
}
else
printf("the num is three-digit num\n");
sum=(num/100)+((num/10)%10)+(num%10);
}
else
printf("the num is four-digit num\n");
sum=(num/1000)+((num/100)%10)+((num/10)%10)+(num%10);
}
else
printf("the num is five-digit num\n");
sum=(num/10000)+((num/1000)%10)+((num/100)%10)+((num/10)%10)+(num%10);
printf("sum=%d",sum);
}
可是当输入99999时,sum=20,这是怎么回事啊?求解答啊
显示如下:
please input the num:
99999
the num is five-digit num
sum=20
展开
 我来答
阿金纪实录
2012-03-28 · TA获得超过766个赞
知道小有建树答主
回答量:250
采纳率:100%
帮助的人:123万
展开全部
确实是45,我在g++上运行的结果是45。没错。
更多追问追答
追问
TC是20
追答
我不是在TC下用的,我是在QT里的g++,你可以试一下其它的编译器
zsx10110
2012-03-27 · TA获得超过8872个赞
知道大有可为答主
回答量:2369
采纳率:66%
帮助的人:3074万
展开全部
我敢说我的结果是45 你是不是输错了
更多追问追答
追问
没有啊,输入99999
输出sum=20
追答
不是吧 我的真是45~ hi聊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式