新手C语言求助一道题。

输入12345#后,写出下列程序的输出结果。voidmain(){charc;for(c=getchar();getchar()!=’#’;c=getchar())put... 输入12345#后,写出下列程序的输出结果。
void main()
{ char c;
for(c=getchar(); getchar()!=’#’; c=getchar())
putchar(c);
}
展开
 我来答
晨扬钟m
2013-01-06 · TA获得超过101个赞
知道答主
回答量:128
采纳率:0%
帮助的人:72万
展开全部

for(c=getchar(); getchar()!=’#’; c=getchar())

 

输入12345#后,首先进入for循环要执行第一个c=getchar()给c赋初始值,即为第一个字符'1',c=‘1’,而后进行第二个表达式getchar()!='#'的判断,此时getchar()得到的字符是'2'满足条件但没给c赋值,c还是等于'1',后执行putchar(c),后执行下一次循环,先执行第三个表达式c=getchar(),给c赋值,此时c='3',然后再进行第二个表达式getchar()!='#'的判断,此时getchar()得到的是'4',满足循环执行条件执行putchar(c),后再执行第三个表达式c=getchar(),此时c='5', 再执行第二个表达式getchar()!='#',这时的getchar()已经为'#'号,所以不满足循环执行条件了,不再执行putchar(c),尽管此时c中的值是'5'也不会输出了

zh...n@126.com
2013-01-06 · TA获得超过708个赞
知道小有建树答主
回答量:697
采纳率:0%
帮助的人:572万
展开全部
确实是13 第一次for c=1,这个没问题,判断条件从缓冲区中取2,判断后丢弃,然后输出c=1
c再从缓冲区中取c=3 第一次for结束
第二次 取4判断然后丢弃 输出C=3 再从缓冲区中取c=5 第二次结束
第三次 取#判断 for结束
所以输出13
over
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐行乐
2013-01-06 · 超过10用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:24.9万
展开全部
135
getchar每次只接收一个字符,放在缓存中。如果再用getchar接收一次,原来的就会被覆盖掉。
for(c=getchar(); getchar()!=’#’; c=getchar())我们把第一个c=getchar()称为1getchar,第二个c=getchar()称为2getchar。

第一次进入循环,1getchar接收1,然后判断,getchar()!=’#’成立,然后进入循环,输出c;然后再进行2getchar,接收2,然后再判断getchar()!=’#’成立,然后继续1getchar,接收3,判断getchar()!=’#’成立,输出3;然后再进行2getchar,接收4,然后再判断getchar()!=’#’成立,然后继续1getchar,接收5,然后再判断getchar()!=’#’成立,输出5,然后再进行2getchar,接收#,判断getchar()!=’#不成立,循环结束!
够详细了吧
更多追问追答
追问
大神太感谢了。。我觉得你的答案是对的,但为撒老师给的答案是1,3
追答
不好意思,发现我的思路有问题。请误采纳。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
衣者_示羊
2013-01-06 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:32.6万
展开全部
看是for循环。
c=getchar(); //读入1,c='1'

getchar()!=’#’; //读入2

putchar(c); //输出c,即1

c=getchar() //读入3,c='3'

getchar()!=’#’; //读入4
putchar(c); //输出c,即3
c=getchar(); //读入5,c='5'
getchar()!=’#’; //读入#,不等式不成立
跳出循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1148569762
2013-01-06 · 超过19用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:48.7万
展开全部
应该是135,那个"#"应该改成在英文状态下。
追问
答案是1,3.不会做。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式