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才对,怎么两道题自相矛盾呢? 展开
第一个程序里,第一次循环y--,y%3不是被使用了一次吗,后面的数y不应该-1变成8再根据--y先运算后使用输出7,按这个推论应变成结果为741吗
第二个程序k++不是先使用与3进行对比后面再加一变成4,然后再根据--k变成3,我的分析对不对啊,我感觉这两个题咋反着来,不一样呢,按上题的思路k++不会发生变化,会在下次循环里面再加一,本次循环里再根据--k变成2才对,怎么两道题自相矛盾呢? 展开
3个回答
展开全部
第一图的程序
因为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
展开全部
第一个程序里,y--表示先减一,然后再在y%3中使用y,所以y的值为9,所以最终结果为741。第二个程序中,k++表示先使用,然后再加一,所以k的值为3,而--k表示先减一,然后再使用,所以最终结果为2。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表达式y%3仅仅是将y对3取余,没有改变变量y的值
写成y=y%3才会改变y的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询