谢谢你的代码,可是我是新手,for()循环里的东西我看不太懂,可以分开写一下吗?

#include<stdio.h>main(){longsum=0,n;charc;for(c=getchar();c!='\n';sum+=n){n=0;for(;c>... #include<stdio.h>
main()
{
long sum=0,n;
char c;
for(c=getchar();c!='\n';sum+=n)
{
n=0;
for(;c>='0'&&c<='9';n=n*10+c-'0',c=getchar());
if(c=='+')
c=getchar();
}
printf("%d\n",sum);
}
展开
 我来答
hjhjw1991
2013-05-08
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
总则:for(语句1;语句2;语句3)执行顺序是:首先执行一次语句1,然后判断是否满足条件(由语句2给出),若满足则进入循环体

为方便叙述,把lz给出的代码两个for循环称为外for和内for。
外for的语句1读入一个字符,语句2判断它是不是回车,不是回车的话进入循环体,最后一个语句是求和
循环体内首先初始化n=0,内for循环语句1为空(因为已经在外for读入了一个字符),语句2判断读入的字符是不是数字,语句3执行(把数字加到n上,读入下一个字符)两个操作,内for的循环体为空
内for循环结束后的效果是n存储了一个数
if语句作用是忽略输入中的+号

最后输出sum

从整个程序来看的话这个是完成“读入一个加法表达式并输出其值”的功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q3cjl
2013-05-08
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
对于for循环,for (A;B;C),先执行A然后执行B(条件B为假跳出循环),
然后执行循环体, 再C,再B(条件B为假跳出循环),
执行循环体, 再C, 再B(条件B为假跳出循环),
执行循环体, 再C, 再B(条件B为假跳出循环)。。。

基本无法分开写的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
2013-05-08
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
main()
{
long sum=0,n;
char c;
c=getchar(); //读第一个字符
while(c!='\n') //一行未完时循环
{
n=0; //新数字初始化
if(c=='+')c=getchar(); //若是‘+’不算,再读一个
while(c>='0'&&c<='9') //读一个完整的多位数
{
n=n*10+c-'0'; //把多位数字拼起来
c=getchar(); //读下一位数
}
sum+=n; //一个数字完了,累加之
}
printf("%d\n",sum); //一行上所有数字已完,输出总和
}
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式