c语言基础问题,求大佬求解

第一个选b第二个选c,不懂这两个过程第一个程序里,第一次循环y--,y%3不是被使用了一次吗,后面的数y不应该-1变成8再根据--y先运算后使用输出7,按这个推论应变成结... 第一个选b第二个选c,不懂这两个过程
第一个程序里,第一次循环y--,y%3不是被使用了一次吗,后面的数y不应该-1变成8再根据--y先运算后使用输出7,按这个推论应变成结果为741吗
第二个程序k++不是先使用与3进行对比后面再加一变成4,然后再根据--k变成3,我的分析对不对啊,我感觉这两个题咋反着来,不一样呢,按上题的思路k++不会发生变化,会在下次循环里面再加一,本次循环里再根据--k变成2才对,怎么两道题自相矛盾呢?
展开
 我来答
紫薇参星
科技发烧友

2022-12-15 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3605万
展开全部

第一图的程序



因为y==9时,y%3==0,执行打印语句,y先自减再打印,输出8,执行continue;跳过后面的语句.

for循环执行y--,y==7,y%3不等于0,不执行if语句

for循环执行y--,y==6,y%3==0,执行打印语句,y先自减再打印,输出5,执行continue;跳过后面的语句.

for循环执行y--,y==4,y%3不等于0,不执行if语句

for循环执行y--,y==3,y%3==0,执行打印语句,y先自减再打印,输出2,执行continue;跳过后面的语句.

for循环执行y--,y==1,y%3不等于0,不执行if语句

for循环执行y--,y==0,y不大于0,触发for循环终止条件,结束for循环

所以输出852,选B

第二图的程序


因为k==3,进入if语句k++>3是先比较后自加1,3不大于3,

执行else语句,这时k自加1,k==4,执行打印语句,--k是先自减后打印,

所以输出3,选C

IMxiao01
2023-01-20 · 知识是无穷的宝藏,勇于探索,收获精彩人生
IMxiao01
采纳数:1 获赞数:9

向TA提问 私信TA
展开全部
第一个程序里,y--表示先减一,然后再在y%3中使用y,所以y的值为9,所以最终结果为741。第二个程序中,k++表示先使用,然后再加一,所以k的值为3,而--k表示先减一,然后再使用,所以最终结果为2。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine1991
科技发烧友

2022-12-15 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部

表达式y%3仅仅是将y对3取余,没有改变变量y的值

写成y=y%3才会改变y的值

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式