请教C语言高手~!!!!请问下这段程序的运算过程!

#include<stdio.h>voidmain(){charc;c=getchar();while((c=getchar())!='?')putchar(++c);}... #include<stdio.h>
void main()
{char c;
c=getchar();
while((c=getchar())!='?')
putchar(++c);
}
当输入quert时,为什么运行结果是vfsu?

请教这个程序的运行过程~!
展开
 我来答
lzuxiaolong
2011-06-05 · TA获得超过224个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:94.2万
展开全部
getchar()还是只能从键盘读入一个字符。假如你输入quert时,第一次读入的是'q',也就是变量c的值为'q',接下来执行while循环,先判断循环条件,先执行括号里面的c=getchar(),又读了一次,此时读入的是'u',所以c的值为'u', 'u' !='?'成立,执行putchar(++c),++c的值就是c的值加1,当前'c'的值为'u',加1变成了'v',所以输出'v';接下来再判断条件,又读入'e',c的值变成'e','e'!='?'成立,执行putchar(++c),'e'+1变成了'f',字符加1就会向前移动
paykka
2025-08-05 广告
Paykka 的数字化流程涵盖了开户、收款、提现等全流程,从资料提交、账户开通到各种资金操作,都能在线上完成,无需用户进行线下干预,简化了操作步骤,提升了整体的操作效率。... 点击进入详情页
本回答由paykka提供
xinlaide3
2011-06-05
知道答主
回答量:73
采纳率:0%
帮助的人:11.3万
展开全部
c是一个 字符型变量;
输入 quert的时候;
第4行 c=getchar(); 得到 一个字符 c='q'
第5行,循环语句,不是?就一直循环
(c=getchar())!='?' 获得下一个字符 c='u'
第6行 输出字符 ++c=v
然后 不是?继续循环 第5行 c=e;
第6行 ++c=f;
不是?继续循环 第5行 c=r;
第6行 ++c=s;
不是?继续循环 第5行 c=t;
第6行 ++c=u;
不是?继续循环 第5行 c=?;
第6行 ++c=是一个特殊符号;
结束循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
georon
2011-06-05 · 超过34用户采纳过TA的回答
知道答主
回答量:160
采纳率:0%
帮助的人:88.9万
展开全部
给这3句标个号1,2,3
c=getchar(); 1
while((c=getchar())!='?') 2
putchar(++c); 3
你输入q时,执行1,输入u执行2,输出++c,因为是先++,所以是v,
以此类推,输入e,输出f,输入r,输出s,输入t输出u,
明白了吗。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式